簡體   English   中英

為什么以下正則表達式在Python中不起作用?

[英]why the following regular expression does not work in Python?

我正在嘗試在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>

您可能會發現諸如debuggex之類的工具(還有許多其他工具)對於測試和調試regex表達式很有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM