(……续例8)
例9:捕获组匹配
- void function reg_09()
- {
- var s1 = "Live for nothing,die for something",
- s2 = "Live for nothing,die for somebody",
- s3 = "Live for noabcde,die for someabcde";
- var r = /^Live ([a-z]{3}) no([a-z]{5}),die \1 some\2$/g;
- for (i = 1; i <= 3; i++)
- {
- t = "alert(r.exec(s" + i + "));"
- eval(t);
- }
- }
这个例子和前面的例2是一样的,对匹配内容用()符号进行分组,以便后面引用,不过这次有两个组,因此需要用\1和\2符号进行引用。
行9:这次没有使用String对象的match()方法,而是使用了正则表达式对象的exec()方法,它们的效果是类似的,不过exec()方法会将组中的内容显示出来,这样的组称为捕获组。
运行结果:s2是无法匹配的。
(未完待续……)
本文转自 BlackAlpha 51CTO博客,原文链接:http://blog.51cto.com/mengliao/467864,如需转载请自行联系原作者