关于或符号
来源:4-2 去除字符串首尾的空白字符
qq_慕前端7271312
2020-09-23 19:53:11
老师‘|’符号不是匹配到一个就不往后匹配了吗?
/^\s+|\s+$/g应该只是匹配到开头的几个空格,匹配不到最后的空格?
var str='ab';
var pattern=/a|b/g;
console.log(pattern.exec(str));
返回的只有a,匹配不到b。
1回答
同学你好,问题解答如下:
“|”代表“或”,即可能匹配的规则有多种;正则表达式匹配到的结果,不仅与正则表达式本身有关,还与使用了什么方法有关,具体如下:
如果使用exec方法,在全局匹配模式下,每调用一次exec方法,就会匹配一次,由于同学这个例子中,只调用了一次exec方法去匹配“/a|b/g”,所以只能匹配到字母a。
但是如果使用replace方法,则会将所有可能匹配到的结果,都进行替换,如下:
对应到去除收尾空格这个方法上,它使用的也是replace方法,所以会把首尾的空格都去除:
如果我的回答帮到了你,欢迎采纳,祝学习愉快!