0

我需要从字符串中匹配格式为“A00000”、“B12342”、“W33344”的子字符串。基本上,第一个字符总是一个字母,后面的五个是数字。

我有两个正则表达式,看起来都正确:

str.match(/[A-Z]{1}\d{5}/)

str.match(/^[A-Z]\d{5}/)   

哪个更严格,还有比这两个更好的吗?谢谢。

4

1 回答 1

1

要将模式匹配为更大字符串的一部分,而不是仅在字符串的开头或任何位置匹配并仍然使它们“严格”,您可以使用边界元字符:

/\b[A-Z]\d{5}\b/g

/g修饰符进行全局搜索并找到更多匹配项。

模式解释

例子

> 'A12345 B43221'.match(/\b[A-Z]\d{5}\b/g)
["A12345", "B43221"]
于 2013-06-13T09:14:13.397 回答