正则表达式的量词分别式贪婪,惰性,支配性
1.贪婪量词:先看整个字符串是不是一个匹配。如果没有发现匹配,
它去掉最后字符串中的最后一个字符,并再次尝试。
2.惰性量词: 先看字符串中的第一个字母是不是一个匹配。如果单独
这一个字符还不够,就读入下一个字符,组成两个字符的字符串。
如果还是没有发现匹配,惰性量词继续从字符串添加字符
直到发现一个匹配或者整个字符串都检查过也没有匹配。
[b]
[color=red]惰性量词和贪婪量词的工作方式正好是相反的。[/color][/b]
3.支配量词:只尝试匹配整个字符串。如果整个字符串不能产生匹配,不做
进一步尝试,支配量词其实简单的说,就是一刀切。
贪婪量词测试
惰性量词测试
支配性量词测试
1.贪婪量词:先看整个字符串是不是一个匹配。如果没有发现匹配,
它去掉最后字符串中的最后一个字符,并再次尝试。
2.惰性量词: 先看字符串中的第一个字母是不是一个匹配。如果单独
这一个字符还不够,就读入下一个字符,组成两个字符的字符串。
如果还是没有发现匹配,惰性量词继续从字符串添加字符
直到发现一个匹配或者整个字符串都检查过也没有匹配。
[b]
[color=red]惰性量词和贪婪量词的工作方式正好是相反的。[/color][/b]
3.支配量词:只尝试匹配整个字符串。如果整个字符串不能产生匹配,不做
进一步尝试,支配量词其实简单的说,就是一刀切。
贪婪量词测试
<script>
var str="abbbaabbbaaabbb1234";
var re1=/.*bbb/g;
alert(re1.exec(str));
</script>
惰性量词测试
<script>
var str="abbbaabbbaaabbb1234";
var re1=/.*?bbb/g;
alert(re1.exec(str));
</script>
支配性量词测试
<script>
var str="abbbaabbbaaabbb1234";
var re1=/.*+bbb/g;
alert(re1.exec(str));
</script>