我需要从字符串中匹配“A00000”,“B12342”,“W33344”格式的子字符串。基本上,第一个字母总是一个字母,后面五个是数字。
我有两个正则表达式,看起来两者都是正确的:
str.match(/[A-Z]{1}\d{5}/)
str.match(/^[A-Z]\d{5}/)
哪个更严格,哪有比这两个更好的?感谢。
答案 0 :(得分:1)
要将模式匹配为较大字符串的一部分,而不仅仅是在字符串的开头或任何位置,仍然使它们“严格”,您可以使用边界元字符:
/\b[A-Z]\d{5}\b/g
/g
修饰符执行全局搜索并找到更多匹配项。
示例强>
> 'A12345 B43221'.match(/\b[A-Z]\d{5}\b/g)
["A12345", "B43221"]