您的位置:首页 > Web前端 > JavaScript

关于js中的正则贪婪特性实践学习笔记

2010-03-18 21:07 447 查看
先看个例子

预想的是用这个正则实现匹配<>这样的node! 所有的html标签

但 ....看下文

var label='<b>hahaettt</b>';
var reglabel=/<(?:/s|.)*>/g;//惰性
alert(label.replace(reglabel,"-"));// out put '-'

由于 正则都是懒惰的@!所以 先看这个表达式是不是整体都符合 这个 正则表达式!

如果符合 则 那进行匹配! 在这里 正好匹配!<.......>所以 这里整个式子都将被换成 ‘-’

那怎么解决呢

*对应的懒惰 表示为:*?

则要改成这样

var label='<b>hahaettt</b>';
var reglabel=/<(?:/s|.)*?>/g;//惰性
alert(label.replace(reglabel,"-"));//out put -hahaettt-

这样就实现了替换所有的标签!!

-------------------------------------------------------------------------------------

接着看这个例子

改下

var label='<b>hahaettt</b>';
var reglabel=/<(?:/s|.)*?>/g;
label.replace(reglabel,"-")
alert(label);
if(reglabel.test(label))
alert('ok');
else{alert('no');
}

输出结果是

<b>hahaettt</t>

no
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: