python - 正则表达式:查找大于特定值的数字(具有不同的十进制长度)
问题描述
我正在尝试正则表达式查找列表中大于或等于 .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 的任何值,最好完全跳过正则表达式并解析数字。
推荐阅读
- reference - 如何将事件更改从子组件传递给父组件
- c - 如何将数组保存在 .txt (C)
- c# - MySQL 应用程序连接
- jitterbit - 使用 Jitterbit 从 Salesforce 下载多个附件
- css - SVG 笔画、CSS 动画:并非所有笔画都朝同一个方向移动
- android - ARCore - 让相机面向世界的角度向前(-Z 轴)
- java - How to fix a "money sorter" java program
- ios - 在组合中将给定的发布者失败类型设置为从不
- oop - 如何获取列表中自定义对象元素的索引
使用对象属性? - dbpedia - 在 DBpedia 中检索资源的第一个表示的日期