re.findall 行為異常
困境:
在使用 Python 3.4 的 Python腳本中.3、重新搜尋當使用指定模式套用於特定來源字串時,方法提供預期結果。然而,re.findall 莫名其妙地傳回相同模式和來源字串的空列表。
探索:
奇怪的是,儘管 re.findall方法似乎滿足從基於字串中提取匹配項的要求,但其行為卻出乎意料
解決方案:
經過仔細檢查,很明顯有兩個因素導致了這種奇怪的行為:
修正模式:
為了緩解此問題並成功提取匹配項,以下糾正模式應為就業:
-?\d*\.?\d+
解釋:
演示:
利用修改後的模式, re.findall 方法現在可以準確檢索預期的匹配列表:
['123', '3.1415926']
以上是為什麼「re.findall」會傳回空列表,而「re.search」在 Python 3.4.3 中可以正確使用相同的模式和字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!