以前接触到过正则的贪婪问题,但现在想想还不是很清楚,所以做了个复习和总结:@H_404_3@
.*贪婪模式 .*?非贪婪模式 (点比较小)@H_404_3@
如:@H_404_3@
var str="abc/def/abc";
var re=/.*(b)/g;
alert(str.match(re)); //abc/def/ab
@H_404_3@
.*(b)的匹配是先匹配的字符串的结尾,然后在字符串的末尾向前回溯一直到出现b的位置,得到匹配的结果.
@H_404_3@
而.*?会第一得到 ab 由于是非贪婪模式,先拿b去进行匹配,b匹配到第一个b的位置停止@H_404_3@