REGEX范围问题

时间:2013-02-28 12:18:30

标签: regex

与正则表达式范围模式略微混淆,以匹配0.0000001.000000范围内的任何值(包括边界),例如:

0.000000 is valid
0.000001 is valid
0.999999 is valid
1.000000 is valid

3 个答案:

答案 0 :(得分:1)

这将是必需的:

^(0\.\d{6}|1\.0{6})$

^$匹配开头和结尾

00

匹配

\..匹配。 \是为了逃避正则表达式中.的特殊含义

\d{6}匹配6位

1\.0{6}匹配1.000000

答案 1 :(得分:1)

正则表达式不是检查数字范围的正确工具,但您的情况非常简单

\b(?:1\.0{6}|0\.\d{6})\b

here on Regexr

如果完整字符串只包含这些数字,您可以将字符边界\b更改为^字符串的开头和字符串的$结尾

^(?:1\.0{6}|0\.\d{6})$

答案 2 :(得分:1)

使用此正则表达式0\.\d{6}|1\.0{6}

  

0。 const 0。

     

\ d {6}任意6位

     

|或

     

1。 const 1。

     

0 {6} const 000000

如果你的范围不包含其他符号而只包含此degit,则可以使用锚点,正则表达式为^0\.\d{6}|1\.0{6}$

  

^字符串的开头

     

$ end of string