我正在尝试在Javascript中匹配某些字符串,例如'[932A]'。精简版是:
'[625A] [625B] [625C]'.match(/\[[0-9]*[A-Z]+\]/)
返回一个包含1个元素的数组,第一个命中。这显然是为什么?
答案 0 :(得分:2)
您需要使用最终g
字词
'[625A] [625B] [625C]'.match(/[[0-9]*[A-Z]+]/g)
答案 1 :(得分:2)
您需要指定要使用全局标志获取所有匹配项。例如(注意结尾g):
/[0-9]/g
当它们不用于分隔字符类时,您还需要转义方括号。例如:
/\[[0-9]+\]/
哪个匹配方括号内的一个或多个数字。
答案 2 :(得分:1)
是的,您只需在正则表达式中添加全局标志即可。这是通过在它的末尾添加'g'来完成的。生成的正则表达式应如下所示:
/[[0-9]*[A-Z]+]/g