我正在尝试使用正则表达式查找列表中大于或等于 .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/