javascript非擒获性分组和前瞻

javascript非捕获性分组和前瞻非捕获性分组:前面讲了创建反向引用的分组,这种分组一般称为捕获性分组。同时

javascript非捕获性分组和前瞻

非捕获性分组:

前面讲了创建反向引用的分组,这种分组一般称为捕获性分组。同时也存在一种非捕获性分组。它不会创建反向引用,因为在比较长的正则表达式中,分组多了会很影响效率。所以使用非捕获性分组。

创建非捕获性分组是这样的(?:开始然后写表达式。例如

?

var str = "#123231312";

var patt = /#(?:\d)/

console.log(patt.test(str));

console.log(RegExp["$1"]);

?

得到结果为:

?

var str = "bedroom";var str2 = "beded";var patt = /(bed(?!room))/console.log(patt.test(str));console.log(RegExp["$1"]);console.log(patt.test(str2));
得到结果: falsebed true

参考《javascript高级程序设计》

?

?

?


?