例一
<!\-\-repaste\.title\.begin\-\->(.+?)<!\-\-repaste\.title\.end\-\->
匹配
<h1><!--repaste.title.begin-->塞拉利昂前部长一家九口感染埃博拉病毒全部丧命<!--repaste.title.end--></h1>
里面的title
发现,各种转义加上的\,中间的 . 是匹配任意除换行外的字符, +?是重复任意次,小括号来指定子表达式(也叫做分组),
小括号的用法说明举例
(\d{1,3}\.){3}\d{1,3}是一个简单的IP地址匹配表达式。要理解这个表达式,请按下列顺序分析它:\d{1,3}匹配1到3位的数字,(\d{1,3}\.){3}匹配三位数字加上一个英文句号(这个整体也就是这个分组)重复3次,最后再加上一个一到三位的数字(\d{1,3})。
例二
(<span class="info"><em.*?><a href.*?>(.+?)</a>)|(<div\s*id="crumb"><p class="f-l" id="xiaodaohang">(.+?)</p>)
匹配
<span class="info"><em style="margin-right: 10px;"><a href="http://news.cntv.cn/world_old/" target="_blank">国际新闻</a><b>
里面的国际新闻
发现,.*?,.*?就意味着匹配任意数量的重复,但是在能使整个匹配成功的前提下使用最少的重复。
举例:a.*?b匹配最短的,以a开始,以b结束的字符串。如果把它应用于aabab的话,它会匹配aab(第一到第三个字符)和ab(第四到第五个字符)。
原文链接:https://www.f2er.com/regex/361446.html