反向引用会占用一定的系统资源,在较长的正则表达式中,反向引用会降低匹配速度。如果分组仅仅是为了方便操作,可以禁止反向引用。
实现方法:在左括号的后面加上一个问号和冒号。
【示例】下面代码演示了如何禁止引用。
var s1 = "abc"; var r = /(?:\w*?)|(?:\d*?)/; //非引用型分组 var a = r.test(s1); //返回true
非引用型分组对于必须使用子表达式,但是又不希望存储无用的匹配信息,或者希望提高匹配速度,是非常重用的方法。
课后整理 2020-12-10
反向引用会占用一定的系统资源,在较长的正则表达式中,反向引用会降低匹配速度。如果分组仅仅是为了方便操作,可以禁止反向引用。
实现方法:在左括号的后面加上一个问号和冒号。
【示例】下面代码演示了如何禁止引用。
var s1 = "abc"; var r = /(?:\w*?)|(?:\d*?)/; //非引用型分组 var a = r.test(s1); //返回true
非引用型分组对于必须使用子表达式,但是又不希望存储无用的匹配信息,或者希望提高匹配速度,是非常重用的方法。