此正则表达式仅允许一个点

时间:2019-07-31 06:33:30

标签: regex

我有一个仅匹配1到100(含)的正则表达式:

/^0*(?:[1-9][0-9]?|100)$/

关于如何允许单个点的问题有答案,但是我不知道如何使用上述正则表达式将其合并?

1 个答案:

答案 0 :(得分:1)

您可以选择匹配一个点,并使用一个量词来指定位数:

^0*(?:[1-9][0-9]?|100)(?:\.[0-9]{1,2})?$

添加的部分匹配:

  • (?:非捕获组
    • \.[0-9]{1,2}匹配一个点,重复一个数字1-2次
  • )?关闭非捕获组,并使用?
  • 将其设置为可选

Regex demo