【问题标题】:Regex for 'X.XX' or 'X'. or 'X.X'? [duplicate]'X.XX' 或 'X' 的正则表达式。还是“X.X”? [复制]
【发布时间】:2015-07-26 19:33:11
【问题描述】:

我想开发一个允许数字的正则表达式:

''
'1'
'1.'
'1.0'
'1.00'
'9.99'
'10.00'
'99.99'

到目前为止,我构建了:

^\d{1,2}(?:\.\d{1,2})?$

但是在http://regexpal.com/ 上测试它发现我不能做'x'。测试用例。

如何修改我的正则表达式来配​​合这个测试用例?

【问题讨论】:

  • 单独 00.1 和 dot 怎么样?
  • 我们只知道您想要匹配您列出的 8 个案例,而 ^\d{1,2}(?:\.\d{1,2})?$ 确实满足您的要求。 ^(|1|1\.|1\.0|1\.00|9\.99|10\.00|99\.99)$ 符合您迄今为止所说的要求。我认为这不是您要查找的内容,这意味着您需要更清楚地说明问题。您要禁止超过两个连续数字吗?为什么空字符串可以接受?用英文准确描述你想匹配的内容,你就可以写出相应的正则表达式了。

标签: regex decimal


【解决方案1】:

在您的群组中只需使用\d{0,2} 而不是\d{1,2}

此外,点需要转义:\.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多