2014-10-22 101 views
0
别处

正则表达式的这条线是使用正则表达式测试仪时,打破了javascipt的,但是使用Javascript正则表达式错误是否能够正常工作:与“M”标志“无效的正则表达式组”时正则表达式是有效和工作

var pattern = new RegExp(/^(?m)^([A-Z0-9]{2,4})(?:\s*[A-Z0-9]{3})?$/); 
"SL44BZ".match(pattern); 

我如何使用javascript的.match()进行这项工作?

它应该返回两个结果在'SL4'分裂的数组。

看起来这个问题是与多行'(?m)'标志,但是如果我删除这个错误的结果返回。

+1

?s /?m不支持,您只能指定re之外的匹配模式。 – 2014-10-22 11:57:31

+3

另外,'new RegExp'在这里是多余的,只是'pattern = /..../ m' – georg 2014-10-22 12:01:29

回答

1

var pattern = /^([A-Z0-9]{2,4})(?:\s*[A-Z0-9]{3})?$/m; "SL44BZ".match(pattern);

应该这样做,如果你还没有从注释了它。