正则表达式中的正向预查和负向预查实例分析
2015-01-22 09:51
281 查看
本文实例讲述了正则表达式中的正向预查和负向预查。分享给大家供大家参考。具体分析如下:
这里先来看一个例子,再来解释什么是正向预查。
例子:有一段内容为"coming soon,going gogogo",要求把com和go查找出来。代码如下:
<head>
<script type="text/javascript">
//正向预查
function t1(){
var con = document.getElementsByName('content')[0].value;
var reg = /\b[\w]+(?=ing\b)/g;//匹配带ing的单词,但是不要ing。注意:如果ing后不加\b,类似于goingabc也会匹配。
alert(con.match(reg));
}
</script>
</head>
<body>
<textarea rows="5" cols="30" name="content"></textarea><br />
<button onclick="t1();">正则预查</button><br />
</body>
</html>
以上面的实例来讲解正向预查:先查出边界,再找到与[\w]+匹配的字,(?=ing)表示先向后探测,看看有没有ing。如果有,则把前面的匹配出来;如果没有,则光标往后移一位,继续探测。这个过程就是正向预查:预先判断为某个值 。
所谓负向预查,就是预先判断不为某个值。文本框输入内容为"win7,winxp,win95,win98,win2003"
<head>
<script type="text/javascript">
//正向预查
function t1(){
var con = document.getElementsByName('content')[0].value;
var reg = /\bwin(?!95\b)/g;//
alert(con.match(reg));
}
</script>
</head>
<body>
<textarea rows="5" cols="30" name="content"></textarea><br />
<button onclick="t1();">正则预查</button><br />
</body>
</html>
上面两个例子是从前往后正向/负向预查----相关信息百度搜索"零宽断言"。JS不支持向前正向/负向预查,而PHP支持。
希望本文所述对大家的正则表达式学习有所帮助。
您可能感兴趣的文章:
相关文章推荐
- 正则表达式中的正向预查和负向预查实例分析
- 正则表达式验证IPV4地址功能实例分析
- VC面向对象开发分析与设计实例解析
- 组件技术的本质COM实例分析一
- UML的用例(Use Case)概念分析及实例
- 实例分析 谁动了网管的红包?
- XQuery查询语言及应用实例分析
- 数据库实例分析---旅馆管理系统(-)
- 一个普通的DataGrid模板实例与分析(原创)
- 批处理命令实例分析
- 通过实例分析搜索技巧
- 工作流模型分析--多实例模型
- UML应用-应用Rational Rose 进行状态机分析与设计实例
- 编程要学会绕道而行:实例分析--另一种绘制空心字的方法.
- MFC窗口位置管理详细分析及实例
- Intel平台下Linux中 ELF文件动态链接的加载、解析及实例分析(一): 加载
- css基础精解和实例分析
- 元函数在SQL查询中应用实例分析【续上篇】
- UML中的用例(Use Case)概念分析及实例
- WEB中基于XMLHTTP的简单实例分析[收藏]