Python正则表达式编译(使用re.VERBOSE)不起作用

时间:2012-12-07 10:58:41

标签: python regex

我正在尝试在编译正则表达式时添加注释,但在使用re.VERBOSE标志时,我不再得到匹配结果。

(使用Python 3.3.0)

在:

regex = re.compile(r"Duke wann", re.IGNORECASE)
print(regex.search("He is called: Duke WAnn.").group())

输出:Duke WAnn

后:

regex = re.compile(r'''
Duke # First name 
Wann #Last Name
''', re.VERBOSE | re.IGNORECASE)

print(regex.search("He is called: Duke WAnn.").group())`

输出: AttributeError:'NoneType'对象没有属性'group'

1 个答案:

答案 0 :(得分:9)

空格被忽略(即,你的表达式实际上是DukeWann),所以你需要确保那里有空格:

regex = re.compile(r'''
Duke[ ] # First name followed by a space
Wann #Last Name
''', re.VERBOSE | re.IGNORECASE)

请参阅http://docs.python.org/2/library/re.html#re.VERBOSE