常用的正则表达式匹配
首先推荐一个我觉得不错的正则匹配的软件Regex Match tracer
简介:(简介摘自:http://www.regexlab.com/zh/mtracer/)
正则表达式工具 Match Tracer 是一款用来编写和测试正则表达式的工具软件。 本软件通过可视化的界面,可以协助你快速、正确地写出复杂的正则表达式。
主要功能:
- 根据正则表达式语法,彩色显示表达式,使表达式便于阅读。
- 同步将正则表达式的组成显示在 "树结构" 和 "分组列表" 中,使正则表达式结构一目了然。
- 详细记录每一个匹配结果,包含分组结果以及所花费的时间。
- 可进行 "忽略大小写","单行模式","多行模式","全局模式","从左向右","扩展模式" 等模式下的正则表达式测试。
- 可单独测试表达式中的一部分,有利于分段调试复杂的正则表达式。
- 您可以设置一个匹配起始点,方便排查表达式错误。
- 支持高级正则语法,例如递归匹配等。
- 可以保存文本片段,例如表达式或者其他文本,也可以跟任意其他编辑器之前相互拖动。
- 可以保存当前表达式为一个‘快照’,使您可以放心改写表达式。
软件截图如下:
常用的正则匹配表达式
<img[^>]*?> //匹配html里面所有的img标签
<[^>]*> //匹配所有html标签(不包含标签内容)
<(?!br).*?> //匹配除去br外的所有标签(不包含标签内容)
<script[^>]*?>[\s\S]*?</script> //匹配所有script标签及内容
如果把 [\s\S] 换成 . (正则表达式中.代表换行以外任意字符)则不会匹配到下图第三个有换行的那个script标签了
<(?!img|br|p|/p).*?> //匹配除img、br、p标签外的所有标签
悟已往之不谏,知来者之可追;实迷途其未远,觉今是而昨非。
——且行且珍惜