[英]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.