(……续例10)
例11:非捕获组匹配
- void function reg_11()
- {
- var s = "Live for nothing";
- var r = /^Live for no(?:[a-z]{5})$/g;
- if (r.exec(s) != null)
- {
- alert("全局捕获组1: " + RegExp.$1);
- }
- }
但s与r匹配时,r中的()符号会生成一个捕获组,即thing字符串,但这里使用了?:符号,使得这个组是一个非捕获组。
因此,虽然if判定为真,但全局对象RegExp的$1属性却为空。
(未完待续……)
本文转自 BlackAlpha 51CTO博客,原文链接:http://blog.51cto.com/mengliao/468084,如需转载请自行联系原作者