我发现了很多类似的问题,但是这些问题并不能回答我的问题,也不能进行正则表达式,因此,这里是这样:
获得此示例代码:
<ul>
<li>one</li>
<li class="red">two</li>
<li>three</li>
<li class="red">four</li>
</ul>
<ul>
<li>five</li>
<li class="red">six</li>
<li>seven</li>
<li class="red">eight</li>
</ul>
我正在寻找一个正则表达式,它将使用ul
来抓取前li
个class="red"
的内容,因此返回“两个”和“四个”
我需要使用使用正则表达式的工具来抓取网站,因此我没有其他选择。因此,我的问题。
答案 0 :(得分:0)
我不建议在这里使用正则表达式:
您可以通过链接两个正则表达式来实现:
^[\w\W]*?(<li>[\w\W]*?)<\/ul>[\w\W]*$
替换为$1
^[\w\W]*?class="red"[\w\W]*?>([\w\W]*?)<\/li>
替换为$1
(PCRE)