js regexp'|'任何一方匹配时匹配

时间:2018-05-16 08:43:36

标签: javascript regex

我希望匹配“/ ab /”或“/除”/'之外的任何字符串“的字符串;我认为可以用'|'轻松完成。但我没有得到我想要的结果:

mapFrom<something>

我误解了什么吗?

1 个答案:

答案 0 :(得分:0)

交替适用于所有之前和之后,包括"。您说&#34;匹配"(\/ab\/)\/[^\/]*)"&#34;。 。为了避免这种情况,将交替放在一组自己的(而不是两组之间):/"(\/ab\/|\/[^\/]*)"/

&#13;
&#13;
console.log(/"(\/ab\/)"/.test('"/ad/"')); // false
console.log(/"(\/[^\/]*)"/.test('"/ad/"')) // false
var rex = /"(\/ab\/|\/[^\/]*)"/;
console.log(rex.test('"/ad/"')); //now false
console.log(rex.test('"/ab/"')); //true
console.log(rex.test('"/an"')); //true
&#13;
&#13;
&#13;