Python re.findall正则表达式组不匹配

时间:2017-11-14 23:14:40

标签: python regex

我无法弄清楚为什么我的正则表达式适用于regex101但不能在命令行上以编程方式运行

>>> import re
>>> s = 'City of Arvada\n\nRevenue Division\nsome address\nArvada, CO 80001\n other words'
>>> regex = r'Arvada( [a-zA-Z]+){0,4}[,\.] [A-Z]{2}'
>>> result = re.findall(regex, s)
>>> print(result)
['']

我已将其缩小为与组( [a-zA-Z]+){0,4}有关,因为此正则表达式r'Arvada[,\.] [A-Z]{2}'通过命令行工作。我觉得我之前看过python正则表达式对于(...)组表现得很奇怪

我需要的是匹配第一个单词,然后有条件地匹配0-4个单词,然后是逗号和两个数字的缩写。因此,如果有更好的方法来匹配,我全都是耳朵。

我猜它是Python特有的正则表达式差异,但我对Python的了解不够充分。我正在尝试使用Python 3.6(尽管2.7会产生相同的结果)

我知道有类似的SO帖子,但我可以找到一个特定的问题,也许有太多的搜索

0 个答案:

没有答案
相关问题