Regex 大于十进制值的正则表达式匹配数
我要写入的正则表达式必须匹配所有大于Regex 大于十进制值的正则表达式匹配数,regex,numbers,decimal,Regex,Numbers,Decimal,我要写入的正则表达式必须匹配所有大于0.01且小数点后最多两位的数值 要匹配小数点最多两位数的所有数字,有效的正则表达式是“”^\\d+(?:\\\.\\d{1,2})?$” 我在互联网上研究过regex大于某些值,但只发现regex大于整数的例子,它们的工作原理不同 有什么建议吗?我不确定这是否完全满足您的要求,我无法发表评论,但我认为您可以通过前瞻性筛选零匹配对象:(?!0+\.0+$)^\d+(?:\。\d{1,2})?$要将大于0.01的数值与小数点后最多两位数字相匹配,可以使用负前瞻(
0.01
且小数点后最多两位的数值
要匹配小数点最多两位数的所有数字,有效的正则表达式是“”^\\d+(?:\\\.\\d{1,2})?$”
我在互联网上研究过regex大于某些值,但只发现regex大于整数的例子,它们的工作原理不同
有什么建议吗?我不确定这是否完全满足您的要求,我无法发表评论,但我认为您可以通过前瞻性筛选零匹配对象:
(?!0+\.0+$)^\d+(?:\。\d{1,2})?$
要将大于0.01的数值与小数点后最多两位数字相匹配,可以使用负前瞻(?!
在字符串的开头,断言一个或多个带可选点的零直到字符串的结尾或字符串以0.01
开头时才会出现
例如,这也将不匹配0
,0.0
,0.00
,00000000000
详细信息
^
在行首断言位置
(?!
断言右侧的内容不是
0+(?:\.0+)$
将一个或多个零与一个点和一个或多个零匹配的可选部分匹配,并断言行的结尾
|
或
0+\.01$
匹配一个或多个后跟.01的零,并断言行尾
)
关闭反向前瞻
\d+
匹配一个或多个数字
(?:\。\d{1,2})
一个可选部分,它将匹配一个点,后跟一个或两个数字
$
在行尾断言位置
XY问题?你为什么需要这个?只需解析并比较。对于?我认为这非常接近我想要的,区别在于它检查大于0.1而不是0.01的值。它还说0是可以的,这不是正确的。我认为我犯了一个错误,请现在检查它。@user202729你的意思是什么?我认为它非常清楚。它应该匹配所有大于0.01且小数点后不超过2位的数值