2016-11-07 190 views
0

我想匹配0和1(含)之间的十进制数,但我写的正则表达式将匹配任何超过1太十进制数字:https://regex101.com/r/mN1iT5/3正则表达式匹配0至1

我怎样才能解决这个

^[0-1]{1}(\.[0-9]{1,2})?$ 
+1

['^(0(\ \ d +)?|?1)$'](https://regex101.com/r/0Hcxpw/1) – Tushar

+0

我不明白。您的上述正则表达式与演示中的正则表达式不匹配。你上面的正则表达式应该可以正常工作。 –

+0

'^(0 \。[0-9] {1,2} | 1 \ .00?)$'这样做。 –

回答

0

务必:

^(?:0*(?:\.\d+)?|1(\.0*)?)$ 
  • 0*(?:\.\d+)?任意数量的匹配后面紧跟着一个小数点一个或前几个数字

  • 1(\.0*)?比赛,并且任何数量的0小号

  • 上述两个被|(OR-ED)以匹配

  • 它们中的任何一个

Demo