python - 正则表达式:查找大于特定值的数字(具有不同的小数长度)

标签 python regex

我正在尝试使用正则表达式查找列表中大于或等于 .03 的所有值。棘手的部分是我的值有 9 到 15 位小数。

我当前的代码有些工作但很笨拙 - 非常感谢任何建议:

^(?:0?\.[0-9][3-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]|0?\.[0-9][3-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]|0?\.[0-9][3-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9])$

谢谢。

最佳答案

您可以使用星号来表示零个或多个数字:

^(?:0?\.\d[3-9]\d*)$

这有一个额外的好处,可以精确匹配 0.03 或带有(比如)100 位小数的东西。

如果你想严格控制小数位,你可以使用大括号语法,它匹配 9 到 15 位之间的任何重复:

^(?:0?\.\d[3-9]\d{9,15})$

请注意,如所写,此正则表达式不匹配任何大于或等于 0.03 的值——它匹配任何大于或等于 0.03 且小于 1 的值,并且不匹配,比如说,0.1,大于 0.03。要匹配任何大于 0.03 的值,最好完全跳过正则表达式并解析数字。

关于python - 正则表达式:查找大于特定值的数字(具有不同的小数长度),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55387195/

相关文章:

带有端口验证的 URL 的正则表达式

javascript - 包含 1 个引用的正则表达式与所需字符串不匹配

python - Google oAuth2 python 应用程序无法在线打开登录页面

python - 天真的日期时间有什么意义

python - 匹配模式并打印下一行

python - Google App Engine 和 404 错误

python - 尝试使用operator.or_减少Django Q对象似乎会导致减少 'AND'

Javascript 和 Regex - 字符串中单词的严格匹配

php - 删除除数字和减号以外的所有内容 PHP preg_replace

正则表达式仅匹配第二组