最短匹配模式在正则表达式中的应用分析
序
最近尝试用正则表达式从网页上抓取一些东西,内容并不复杂,但是问题很多。下面就不多说了,我们来看看详细的介绍:
当我们使用正则表达式来匹配一个标签的开始和结束时,比如匹配h1hello world/h1中h1的开始和结束标签。
也许很多人会这样写
/.*h1/g但这真的可以吗?
因为*匹配将零与前面的多个字符匹配,并且是贪婪匹配
所以你会得到以下结果。
显然这不是我们想要的,那么如何把贪婪匹配变成最小匹配呢?
/.*?H1/g可以写在上面,如下图所示:
其实原理应该很简单,因为?也是贪婪匹配,只能匹配0比1。
所以匹配第一个就会结束,防止了*匹配倍数的贪婪。
PS:这里有两个非常方便的正则表达式工具,供大家参考:
JavaScript正则表达式在线测试工具:http://tools.jb51.net/regex/javascript
在线正则表达式生成工具:http://tools.jb51.net/regex/create_reg
更多对JavaScript相关内容感兴趣的读者可以查看本网站的主题:《JavaScript正则表达式技巧大全》、《JavaScript替换操作技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript中json操作技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数学运算用法总结》、0103010。
摘要
以上就是本文的全部内容。希望本文的内容能给你的学习或工作带来一些帮助。有问题可以留言交流。谢谢你的支持。
版权声明:最短匹配模式在正则表达式中的应用分析是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。