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