正则表达式中最短匹配模式的用法浅析

 更新时间:2017年07月17日 09:11:18   作者:jackPan  
最短匹配应用于:假如有一段文本,你只想匹配最短的可能,而不是最长。下面这篇文章主要给大家介绍了关于正则表达式中最短匹配模式用法的相关资料,文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。

前言

最近有一次想用正则表达式从网页里面抓取一些东西出来,内容不复杂却出现不少问题。下面话不多说,来一起看看详细的介绍:

当我们用正则表达式去匹配一个标签的首尾的时候,比如匹配 <h1>hello world</h1> 中的 h1 的开始和闭合标签

可能很多人会这样写

/<.*h1>/g

但是这样真的可以吗?

因为 * 匹配符是匹配前面一个字符的零到多个,而且它是贪婪匹配的

所以你得到的就会是下面的结果了。


显然这并不是我们想要的,那么怎么把贪婪匹配换成最小匹配呢,

/<.*?h1>/g

上面的写法就可以了,如下图:


其实原理应该很简单,因为 ? 也是贪婪匹配,并且只能匹配0到1个,

所以它会匹配到第一个的时候就结束了,从而阻止了 * 的匹配多个的贪婪。

PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

JavaScript正则表达式在线测试工具:http://tools.jb51.net/regex/javascript

正则表达式在线生成工具:http://tools.jb51.net/regex/create_reg

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript正则表达式技巧大全》、《JavaScript替换操作技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript中json操作技巧总结》、《JavaScript错误与调试技巧总结》及《JavaScript数学运算用法总结

总结

以上就是这篇文章的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • Email正则表达式日常整理大全

    Email正则表达式日常整理大全

    正则表达式在项目中经常会用到,特别email邮箱验证在注册用户信息时经常是必填项,下面由脚本之家小编给大家分享Email正则表达式日常整理,需要的朋友可以参考下
    2015-09-09
  • Dreamweaver 正则替换(返回调用值)

    Dreamweaver 正则替换(返回调用值)

    非常不错的利用dreamweaver 正则实现的替换。并且有返回值的调用。
    2009-07-07
  • 常用正则表达式 整理篇

    常用正则表达式 整理篇

    正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番。我将一些常用的表达式收藏在这里,作备忘之用。本贴随时会更新。
    2009-02-02
  • 正则表达式预查的详细解释与应用实例

    正则表达式预查的详细解释与应用实例

    这几天在用正则表达式做一个小程序,需要替换内容中的某些特殊字符串。这些字符串的出现是有规律的,那就是在它左面总会特定的内容出现,右面却没有,下面这篇文章主要给大家介绍了关于正则表达式预查的详细解释与应用实例,需要的朋友可以参考下
    2022-09-09
  • 正则表达式之字符组[ ](Character Classes)

    正则表达式之字符组[ ](Character Classes)

    字符组是正则表达式最基本的结构之一,这里就为大家介绍一下字符组[]的正确使用方法,需要的朋友可以参考下
    2023-05-05
  • JS正则表达式的验证

    JS正则表达式的验证

    这篇文章主要介绍了JS正则表达式的验证的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-11-11
  • Linux 正则表达式详解

    Linux 正则表达式详解

    这篇文章主要介绍了linux 正则表达式的一些使用方法,需要的朋友可以参考下
    2013-11-11
  • 关于正则表达式基本语法的应用详解(必看篇)

    关于正则表达式基本语法的应用详解(必看篇)

    下面小编就为大家带来一篇关于正则表达式基本语法的应用详解(必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • 编写采集规则的好帮手—RegexBuddy 下载,正则不再难

    编写采集规则的好帮手—RegexBuddy 下载,正则不再难

    编写采集规则的好帮手—RegexBuddy 下载,正则不再难...
    2007-03-03
  • 正则表达式日常收集整理(简单且实用)

    正则表达式日常收集整理(简单且实用)

    正则表达式,又称正规表示法、常规表示法。正则表达式的功能非常的强大,下面是小编日常收集整理的有关正则表达式常用知识,感兴趣的朋友一起学习吧
    2016-08-08

最新评论