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中文网其他相关文章!