我正在使用一些正则表达式,并且在查看我的一些匹配项时,我很好奇为什么 exec 函数会产生与它一样多的结果。
我只是想稍微澄清一下操作的内部工作原理,以便我对为什么正则表达式返回n 个结果感到更舒服,而不是仅仅接受它确实如此。
前任。
var invalidValues = new RegExp(
"\\bZIP or City & State$|" +
"\\bCity & State or ZIP$|" +
"\\bEm[ai][ia]l Address(\\s\\(Optional\\)|$)|" +
"^$", "gi");
invalidValues.exec("Zip or City & State");
//returns ["Zip or City & State", undefined]
在上面的示例中,我明白了为什么它匹配“邮编或城市和州”,但我不知道为什么会产生第二个匹配未定义的值。
提前致谢。