我一直试图创建一个regual表达式来匹配0.01到999.00之间的所有正浮点数
以下是我迄今为止所做的工作:^999$|^999.0$|^999.00$|^[0-9]{1,3}(?:\.[0-9]{1,2})?$
但是,我需要排除以下值:
0
00
000
0.0
0.00
00.0
00.00
000.0
000.00
我该怎么做?
答案 0 :(得分:4)
只需在开头添加否定前瞻。
^(?!0+(?:\.0+)?$)(?:999|999.0|999.00|[0-9]{1,3}(?:\.[0-9]{1,2})?)$
OR
^(?!(?:0+(?:\.0+)?|999\.\d*[1-9])$)(?:999|999.0|999.00|[0-9]{1,3}(?:\.[0-9]{1,2})?)$
开始时 (?!0+(?:\.0+)?$)
强制正则表达式引擎不匹配仅包含0的行。