欢迎来到代码驿站!

当前位置:首页 >

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

时间:2021-11-26 11:56:36|栏目:|点击:

前言

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

当我们用正则表达式去匹配一个标签的首尾的时候,比如匹配 <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数学运算用法总结

总结

上一篇:nGrinder性能工具源码安装部署过程

栏    目:

下一篇:docker 容器上编译 go 程序提示找不到文件问题

本文标题:正则表达式中最短匹配模式的用法浅析

本文地址:http://www.codeinn.net/misctech/184899.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有