(……续例14)
例15:非贪婪匹配
- void function reg_15()
- {
- var s = "Live for nothing,die for something";
- var r = /.*thing/; //默认贪婪模式
- alert(s.match(r));
- r = /.*?thing/; //非贪婪模式
- alert(s.match(r));
- }
JavaScript中的正则表达式默认的使用贪婪匹配模式,即尽量多的去匹配内容,这个例子分别演示默认的贪婪匹配模式和指定的非贪婪匹配模式。
行6:在待匹配内容之前加上?符号,则表示使用非贪婪模式,即尽量少的去匹配内容。
运行结果:第一次匹配由于是默认的贪婪模式,所以匹配了整个字符串Live for nothing,die for something(在字符串的末尾找到了匹配);而第二次匹配使用了非贪婪模式,所以只匹配了Live for nothing(只要找到匹配则不再继续往后匹配)。
(未完待续……)
本文转自 BlackAlpha 51CTO博客,原文链接:http://blog.51cto.com/mengliao/469257,如需转载请自行联系原作者