多选分支
一个模式可以实现横向和纵向模糊匹配,而多选分支可以支持多个子模式任选其一
具体形式如下(p1|p2|p3)其中p1,p2,p3 是子模式,用|隔开,表示其中任何之一
例如要匹配字符串good和nice可以使用/good|nice/
可视化形式如下:
测试如下:
js
var regex = /good|nice/g;
var string = = "good idea, nice try.";
console.log(string.match(regex))
// ["good", "nice"]分支惰性
在多选分支中,各个子模式是按顺序进行尝试的,也就是说,如果第一个子模式匹配成功,那么后面的子模式将不会被尝试
比如:
js
var regex = /good|goodbye/g;
var string = "goodbye";
console.log(string.match(regex));
// ["good"]- 而把正则改成
/goodbye|good/结果是
js
var regex = /goodbye|good/g;
var string = "goodbye";
console.log(string.match(regex));
// ["goodbye"]