【发布时间】:2015-07-03 10:22:46
【问题描述】:
这个问题不是询问在字符串中多次查找“a”等。
我想做的是匹配:
[ a-zA-Z0-9]{1,3}\.
regexp 多次,其中一种方法是使用 |
'[ a-zA-Z0-9]{1,3}\.[ a-zA-Z0-9]{1,3}\.[ a-zA-Z0-9]{1,3}\.[ a-zA-Z0-9]{1,3}\.|[ a-zA-Z0-9]{1,3}\.[ a-zA-Z0-9]{1,3}\.[ a-zA-Z0-9]{1,3}\.|[ a-zA-Z0-9]{1,3}\.[ a-zA-Z0-9]{1,3}\.'
所以这匹配正则表达式 4 或 3 或 2 次。 匹配以下内容:
a. v. b.
m a.b.
有什么办法可以让这个更像编码?
我试过了
([ a-zA-Z0-9]{1,3}\.){2,4}
但功能与我预期的不一样。这个匹配:
regex.findall(string)
[u' b.', u'b.']
字符串是:
a. v. b. split them a.b. split somethinf words. THen we say some more words, like ten
有没有办法做到这一点?目标是匹配可能的英文缩写和名称,如 Mary J. E. 句子标记器识别为句子标点符号但不是的东西。
我想匹配所有这些:
U.S. , c.v.a.b. , a. v. p.
【问题讨论】:
-
你能给我们举个例子吗?
-
regex101.com/r/qO1fX2/1 没有任何问题
-
它只匹配 d23。我想匹配您示例中的整个字符串:aa2.jhf.jev.d23.llo.
-
>>> s="aa2.jhf.jev.d23.llo." >>> re.search(r'([ a-zA-Z0-9]{1,3}\.){2,4}',s).group(0) 'aa2.jhf.jev.d23.' -
@Kasra 我不明白你的回复