关于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
预想的是用这个正则实现匹配<>这样的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
相关文章推荐
- 【js学习笔记-036】--属性的特性
- 韩顺平 javascript教学视频_学习笔记34_js正则表达式详解
- 【学习】js学习笔记:对象的遍历和封装特性
- JS学习笔记(五):关于$(function(){});里面的函数不执行问题
- JS 正则表达式的相关方法(正则学习笔记1)
- 【记录】JS正则表达式的相关方法(正则学习笔记1)
- JS学习笔记——如何在正则表达式中控制捕获
- JS正则表达式学习之贪婪和非贪婪模式实例总结
- ArcGIS API for JavaScript 4.2学习笔记[0] AJS4.2概述、新特性、未来产品线计划与AJS笔记目录
- JS 正则表达式(学习笔记2)匹配网址url参数
- js正则表达式学习笔记
- [连载] 深入理解Java虚拟机(JVM高级特性与最佳实践) 学习笔记连载分享
- 正则表达式学习笔记011--贪婪和懒惰的匹配
- 正则表达式学习笔记(4) 贪婪、惰性和支配量词
- JavaScript高级程序设计(第3版)学习笔记12 js正则表达式
- 【记录】JS正则表达式(学习笔记2)现学现卖还帮美女解决了个问题。
- js学习笔记之数组Array的一些特性
- node.js学习笔记1JavaScript 的高级特性
- 正则表达式贪婪与非贪婪模式-学习笔记
- JS学习31:关于正则全局匹配结果为奇偶真假的小疑问