gpt4 book ai didi

Python用正则表达式匹配实数/ float

转载 作者:行者123 更新时间:2023-12-01 05:31:06 25 4
gpt4 key购买 nike

我不是最擅长的。

谁能告诉我这个模式是否可以在文字“each”出现之前返回一次出现的整数或小数?数字和字符串均由一个空格分隔。

for each in parsed:
if measure_string.find(each)>-1:
r = re.compile("([0-9]\.?[0-9]?) "+each)
b = re.match(r,measure_string)
if b:
return b, each

感谢您的浏览。

最佳答案

[0-9]\.?[0-9]?

第一个 [0-9] 将匹配一次出现的数字。这 。?将匹配 0-1 个句点[0-9]?将匹配 0-1 位数字。

因此,您的正则表达式将解析 1, 11, 1.1,但不会解析 1.11 或 11.1

如果您想解析以上所有内容,我建议您执行以下操作。

([0-9]+(?:\.[0-9]+)?)(?:\s)

[0-9]+ - 匹配 1 个或多个数字
\. - 第 1 场比赛
[0-9]*? - 匹配所有剩余的数字。
()? - 输入此正则表达式 0 或 1 次。

括号内的任何内容都将被捕获。如果您看到 (?:...) 中包含正则表达式,则它是非捕获正则表达式。但是如果 (?...) 包含在 (...) 中,它将被 (...) 正则表达式捕获...这有点困惑。但上面的代码应该只能捕获数字而不是空间。

关于Python用正则表达式匹配实数/ float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20291565/

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