为什么python re模块不适用于@?

时间:2014-09-08 19:08:26

标签: python regex

在下面的示例中显示了奇怪的问题: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',)