(……续例15)

例16:贪婪模式下的回溯匹配

 
   
  1. void function reg_16()  
  2. {  
  3.     var s = "Live for nothing,die for something";  
  4.     var r = /.*thing,/g; //默认回溯模式  
  5.     alert(s.match(r));  
  6.     //r = /(?>.*)thing,/g; //JScript不支持非回溯模式  
  7.     //alert(s.match(r));  

这个例子不细琢磨是没有什么特别的,JavaScript默认使用贪婪模式,因此,在thing,字符串前面尽可能多的匹配字符,显然,可以将第一次出现的thing,字符串当做.*符号匹配的内容,但如果在后面无法匹配的话(第二个thing字符串不包含,字符),是会自动回溯的,即回退到第一个thing,字符串,从而完成匹配。
注意,JavaScript并不支持非回溯模式()。

(未完待续……)