(……续例15)
例16:贪婪模式下的回溯匹配
- void function reg_16()
- {
- var s = "Live for nothing,die for something";
- var r = /.*thing,/g; //默认回溯模式
- alert(s.match(r));
- //r = /(?>.*)thing,/g; //JScript不支持非回溯模式
- //alert(s.match(r));
- }
这个例子不细琢磨是没有什么特别的,JavaScript默认使用贪婪模式,因此,在thing,字符串前面尽可能多的匹配字符,显然,可以将第一次出现的thing,字符串当做.*符号匹配的内容,但如果在后面无法匹配的话(第二个thing字符串不包含,字符),是会自动回溯的,即回退到第一个thing,字符串,从而完成匹配。
注意,JavaScript并不支持非回溯模式()。
(未完待续……)
本文转自 BlackAlpha 51CTO博客,原文链接:http://blog.51cto.com/mengliao/469263,如需转载请自行联系原作者