正则表达式搜索没有捕捉到应有的东西

时间:2013-06-18 21:32:12

标签: python regex string

所以我必须得到一个已知字符串的一部分。我为此使用了re.search。但是在这种特殊情况下,它并没有捕捉到应有的东西:

>>> a = 'c$}ononetentonemotw{$ore'
>>> b = 'c$}on(.*)tent(.*)mo(.*)re'
>>> c = re.search(b,a)
>>> c.groups()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'NoneType' object has no attribute 'groups'

c.groups()应该返回:('one','one','tw{$o'),但它实际上并没有捕捉到这种模式,为什么?

1 个答案:

答案 0 :(得分:3)

美元符号是正则表达式中的特殊字符,表示“行尾”。你需要逃脱它:

b = r'c\$}on(.*)tent(.*)mo(.*)re'