Regex 正则表达式中的字符限制赢得';行不通

Regex 正则表达式中的字符限制赢得';行不通,regex,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位) 使用这个: /^\d{2}\s[A-Z]{1,3}\s\d{2,4}$/ 您缺

我想检查字符串是否符合以下规则:

  • 第一部分: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位)
使用这个:

/^\d{2}\s[A-Z]{1,3}\s\d{2,4}$/
您缺少锚(
^
$
)。您的原始版本将通过匹配
34 HY 723
来匹配,例如,
134 HY 723

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

使用这个:

/^\d{2}\s[A-Z]{1,3}\s\d{2,4}$/
您缺少锚(
^
$
)。您的原始版本将通过匹配
34 HY 723
来匹配,例如,
134 HY 723


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

那里的
是干什么用的?那里的
是干什么用的?