-1

我希望正则表达式严格匹配以格式化“两位、十进制和两位”,如 11.11 或 11 可以,但 1.11 或 111.1 或 111.11 无效

4

2 回答 2

1

正则表达式:

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

例子 :

11.11
11
1.11 
111.1
111.11

火柴 :

11.11
11

演示:

http://regexr.com?33prh

于 2013-02-16T08:04:54.103 回答
1

鉴于您的示例,也许这就是您想要的:

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

解释:

  • ^- 字符串开头(或行开头,如果多行模式开启)(感谢@dr.kameleon 提醒我)
  • \d- 一个数字
  • {2}- 两次
  • (?:- 非捕获组的开始
    • \.\d{2}- 一个文字句点和两个数字
  • )- 一组结束
  • ?- 也许
  • $- 字符串结尾(或行尾,如果多行模式打开)

含义:两位数,也可能是小数点和另外两位数

不要忘记在您的正则表达式风格中应用任何必要的转义 ( /delimiters/, doubled\\backslashes...)

于 2013-02-16T08:06:13.267 回答