在下面的示例中显示了奇怪的问题:Python模式不起作用。
import re
data = r'blah blah @Component blah blah'
m = re.match(r'\@Component', data)
print m
会打印出来:
None
我在这里想念的是什么?
2 个答案:
答案 0 :(得分:6)
您需要使用re.search
,@
没有特殊含义,因此您无需转义它。
>>> re.search(r'@Component', data).group()
'@Component'
答案 1 :(得分:3)
match
尝试匹配字符串开头的模式。请改用search
。此外,@
在Python的正则表达式中没有任何特殊含义,因此您无需转义它。
工作代码:
>>> re.search('(@Component)', data).groups()
('@Component',)