JavaScript正则表达式19例(9)

(……续例8)正则表达式

例9:捕获组匹配ide

  
  
           
  
  
  1. void function reg_09()  
  2. {  
  3.     var s1 = "Live for nothing,die for something",  
  4.         s2 = "Live for nothing,die for somebody",  
  5.         s3 = "Live for noabcde,die for someabcde";  
  6.     var r = /^Live ([a-z]{3}) no([a-z]{5}),die \1 some\2$/g;  
  7.     for (i = 1; i <= 3; i++)  
  8.     {  
  9.         t = "alert(r.exec(s" + i + "));" 
  10.         eval(t);  
  11.     }  

这个例子和前面的例2是同样的,对匹配内容用()符号进行分组,以便后面引用,不过此次有两个组,所以须要用\1\2符号进行引用。
行9:此次没有使用String对象的match()方法,而是使用了正则表达式对象的exec()方法,它们的效果是相似的,不过exec()方法会将组中的内容显示出来,这样的组称为捕获组。
运行结果:s2是没法匹配的。spa

(未完待续……)对象

相关文章
相关标签/搜索