禁止引用

课后整理 2020-12-10

反向引用会占用一定的系统资源,在较长的正则表达式中,反向引用会降低匹配速度。如果分组仅仅是为了方便操作,可以禁止反向引用。

实现方法:在左括号的后面加上一个问号和冒号。

【示例】下面代码演示了如何禁止引用。

var s1 = "abc";
var r = /(?:\w*?)|(?:\d*?)/;                          //非引用型分组 
var a = r.test(s1);                                       //返回true

非引用型分组对于必须使用子表达式,但是又不希望存储无用的匹配信息,或者希望提高匹配速度,是非常重用的方法。