正则表达式中的字符限制不起作用

时间:2014-01-06 20:36:17

标签: regex

我想检查字符串是否符合这些规则:

  • 第一部分: 2位数
  • 1个空间
  • 第二部分:大写字母。 1,2或3个字符
  • 1个空间
  • 第三部分: 2,3或4位

我的正则表达式:

/\d{2}\s.[A-Z]{1,3}\s.\d{2,4}/

它适用于大多数字符串,但它不适用于以下内容:

  • 134 HY 723(第一部分不应允许3位数字)
  • 34 H 723(第二部分应该允许一个字母)
  • 34 HD 723435(第三部分不允许超过4位)

1 个答案:

答案 0 :(得分:6)

使用这个:

/^\d{2}\s[A-Z]{1,3}\s\d{2,4}$/

您错过了主播(^$)。通过匹配134 HY 723,您的原始文件会与34 HY 723匹配。

我还删除了两个随机.。 (我不知道为什么他们在那里)