用去除 HTML 标签的例子解释什么是懒惰匹配

作者:vkvi 来源:千一网络(原创) 日期:2010-5-24

正则表达式中,懒惰匹配又称非贪婪匹配、勉强匹配。这里用一个去除 HTML 标签的例子来解释。

var str = "<div>11</div><div>22</div>";
alert(str.replace(/<(.)+>/gi, ""));
alert(str.replace(/<(.)+?>/gi, ""));

上面的代码,第一个 alert 为空白,第二个 alert 为 1122。

正则表达式中的 . 表示任意字符(不包括回车换行符)。

  • 按第一种方式匹配的话,就是贪婪匹配,也就是说它一开始就找到了 <,到第五个字符就找到了 >,但它还不满足,还要往后找,直到找到最后一个 >,这样,它就把整个字符串当作是一个 HTML 标签了,所以一替换,就什么也没有了。
  • 按第二种方式匹配的话,就是懒惰匹配,也就是说它一开始也找到了 <,到第五个字符就找到了 >,这时它满足了,就告诉我们,它已经找到了一个 HTML 标签,替换后,它又从 11 后面开始找……

可以看出懒惰匹配的特征是多了一个 ?。

相关阅读

你前面那位网友看了:我用的一个比较有效的、不用验证码的防灌水机程序

▲▲▲嘿,欢迎转载传播本站原创文章,尽量保留来源噢。▲▲▲

文章评论
标题:必填
内容:
vkvi
vkvi

作者简介: vkvi,致力于 .NET Web 开发、移动开发的技术推广,在 .NET、SQL Server、Windows Server 等方面有深入研究和丰富经验,10 年间共计撰写文章 4000 余篇。 主持金融、国土、农业、电商等多个行业项目执行, 推行“技术提升生产力、人心决定成功率”的管理理论。 联系他