【发布时间】:2014-10-22 11:50:35
【问题描述】:
这行正则表达式在 javascipt 中中断,但是当使用正则表达式测试器时,它可以正常工作:
var pattern = new RegExp(/^(?m)^([A-Z0-9]{2,4})(?:\s*[A-Z0-9]{3})?$/);
"SL44BZ".match(pattern);
如何使用 javascript 的 .match() 进行这项工作?
它应该返回在“SL4”处拆分的两个结果的数组。
看起来这个问题与多行“(?m)”标志有关,但是如果我删除这个错误的结果会返回。
【问题讨论】:
-
?s/?m 不支持,只能在re外指定匹配模式。
-
还有,
new RegExp在这里是多余的,pattern = /..../m
标签: javascript regex match postal-code