我试图理解[0.00-9.00]+python中的这个regex()是做什么的.我理解这一点的方式是它匹配任何一个0 . 0 0-9 . 0 0,所以这里的零是多余的.由于.内部应该匹配任何字符,完整匹配应该是非空字符序列,不一定是数字,但它不会那样.我错过了什么吗?
零确实是多余的.该.只匹配一个文字.,因为它是一个组成部分字符类的[...]语法.它没有特别的意义.
所以字符类可以简化为:
[0-9.]+
Run Code Online (Sandbox Code Playgroud)
并仍然匹配完全相同的输入.
该正则表达式文本的作者似乎混淆了-具有数值范围特征的字符类中的特征; 正则表达式中没有这样的东西.您必须匹配聚合中可以作为实数读取的单个字符.以下实际上匹配这些数字:
(?<!\d)\d\.\d\d(?!\d)
Run Code Online (Sandbox Code Playgroud)
负面的后视和前瞻确保此文本周围没有更多数字.\d这是简写[0-9].
请参阅此regex101演示.
| 归档时间: |
|
| 查看次数: |
102 次 |
| 最近记录: |