Regex 正则表达式比较整数并忽略分隔符
我想匹配以下模式 1.XXXXXX.XXX.X 组合必须以1开头,并且必须至少包含第二个大于0的数字。只允许数字和点数。Regex 正则表达式比较整数并忽略分隔符,regex,Regex,我想匹配以下模式 1.XXXXXX.XXX.X 组合必须以1开头,并且必须至少包含第二个大于0的数字。只允许数字和点数。 所以下面的例子是正确的 1.000000.000.1 1.000500.000.0 1.020030.030.0 下面的例子是不正确的 1.000000.000.0 1.0000.00.0 1.0000d0.020.0 到目前为止我创造了什么 (?=^[1][\.][0-9]{6}[\.][0-9]{3}[\.][0-9]{1}$) // check pattern 1.
所以下面的例子是正确的 1.000000.000.1
1.000500.000.0
1.020030.030.0
下面的例子是不正确的 1.000000.000.0
1.0000.00.0
1.0000d0.020.0 到目前为止我创造了什么
(?=^[1][\.][0-9]{6}[\.][0-9]{3}[\.][0-9]{1}$) // check pattern 1.XXXXXX.XXX.X
(?=^[1-9](?!0000000000$)[0-9][1-9]?\d+$) // check if input is greater than 10000000000
不幸的是,由于输入中的点,第二条语句不起作用。是否可以读取完整的数字并忽略这些点,或者是否有更好的解决方案?您可以使用
^1\.(?!(?:\.?0)+$)\d{6}\.\d{3}\.\d$
见
如果初始1.
后只有零和点,则正则表达式将无法匹配
详细信息
-^1\.
在字符串开头1.
-一种消极的前瞻,它将使一个或多个可选的(?!(?:\.?0)+$)
序列和一个零(直到字符串末尾)的匹配失败
-6位数字\d{6}
-一个点\。
-3位数字\d{3}
-一个点\。
-一个数字\d
-字符串结束$