我正在阅读关于正则表达式的Dive into Python 3,特别是使用re.VERBOSE。我试着搜索一个字符串,但它总是返回“None”。例如:
import re
pattern = '''
testing
'''
print(re.search(pattern, 'test', re.VERBOSE))
我原以为这应该返回除None以外的其他内容,因为“test”中存在字符“test”的模式。我还以为如果它是这样的话:
pattern = '''
^testing$
'''
然后,如果我搜索相同的字符串,我会得到返回值为None。但是,无论如何,我似乎总是得到None的返回值。我做错了什么?
答案 0 :(得分:4)
你的模式和文字到搜索混合在一起。
您正在寻找文字testing
中的test
,后者不够长。 : - )
如果你颠倒了两个(模式test
,文字testing
),事情就会起作用:
>>> import re
>>> pattern = '''
... test
... '''
>>> print(re.search(pattern, 'testing', re.VERBOSE))
<_sre.SRE_Match object at 0x1062f4c60>