为什么以下正则表达式在Python中不起作用?

为什么以下正则表达式在Python中不起作用?,python,regex,Python,Regex,我试图在python中使用一些正则表达式进行模式匹配。 我正在看一个非常简单的示例,但这并不像我预期的那样有效。 代码片段如下所示。我希望它打印“匹配”,但它没有 >>> line="123 a bcdef12" >>> data_headers = re.compile('.*a bc.* ') >>> if data_headers.match(line): ... print "match" ... >>>

我试图在python中使用一些正则表达式进行模式匹配。 我正在看一个非常简单的示例,但这并不像我预期的那样有效。 代码片段如下所示。我希望它打印“匹配”,但它没有

>>> line="123 a bcdef12"
>>> data_headers = re.compile('.*a bc.* ')
>>> if data_headers.match(line):
...     print "match"
... 
>>> 
我还尝试了以下方法:

>>> data_headers = re.compile(' a bc* ')
>>> data_headers = re.compile('.*a bc* ')
但两人都没有找到匹配项

欢迎提出任何建议。
谢谢

结尾的空格是阻止匹配的原因:

>>> import re
>>> re.match(".*a bc.* ", "123 a bcdef12")
None
>>> re.match(".*a bc.*", "123 a bcdef12")
<_sre.SRE_Match object at 0x7fdd6c462b90>
>>重新导入
>>>关于匹配(“公元前123年”、“公元前123年”)
没有一个
>>>关于匹配(“公元前123年”、“公元前123年”)

您可能会发现这样的工具(还有许多其他工具)对测试和调试正则表达式非常有用。

看起来不错,可能是stirng?结尾的空格*bc.*'@FooBarUser问题在于空间确实: