gpt4 book ai didi

python - 调整 Python Regex 以在 findall 结果中不包含单个数字

转载 作者:太空狗 更新时间:2023-10-30 03:07:43 24 4
gpt4 key购买 nike

我正在尝试从一些字符串中捕获/提取数值。

这是一个示例字符串:

s='The shipping company had 93,999,888.5685 gallons of fuel on hand'

我想提取 93,999,888.5685 值我已经得到了我的正则表达式

> mine=re.compile("(\d{1,3}([,\d{3}])*[.\d+]*)")

但是,当我执行 findall 时,我得到以下信息:

mine.findall(s)

[('93,999,888.5685', '8')]

我尝试了很多不同的策略来防止它在 8 上匹配

但我现在意识到我不确定我知道为什么它在 8 上匹配

任何照明将不胜感激。

最佳答案

捕获 8 的原因是因为您有 2 个捕获组。使用 ?: 将第二组标记为非捕获组,模式如下:(\d{1,3}(?:[,\d{3}])*[。\d+]*)

您的第二组 ([,\d{3}]) 负责额外的匹配。

关于python - 调整 Python Regex 以在 findall 结果中不包含单个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3612693/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com