HOW TO:编写REGEX以匹配<li>与某些类attr </li>

时间:2010-11-20 15:13:11

标签: php regex

我需要在页面的html源代码中捕获以下标记+内容:

<li class="someClass someClass2">
    ... some html code ...
</li>

我不太擅长正则表达式,所以我也会感谢包含指向优秀教程的链接的评论。我一直在检查http://www.regular-expressions.info/,但我对那里的解释不太满意。

我在上面的网站上发现的是这样的:

<li\b[^>]*>(.*?)</li>

这匹配所有<li>标签,这不是我想要的。我试着搞乱它,并测试了这个

<li class="someClass someClass[1-9]{1,1}[0-9]*">(.*?)</li>

不幸的是,这个也不能完成这项工作。第二个类的名称格式为 someClassX ,其中X来自{1,2,...}(显然,它不是一组自然数:))

我从这个正则表达式得到的是“没有匹配”。我正在使用Ubuntu,Kodos工具。

更令人沮丧的是这个正则表达式的事实:

<li class="someClass someClass[1-9]{1,1}[0-9]*">

实际上会捕获开放的<li>标记,但仅此而已,就好像它被新行字符“分心”一样。

我仍然在谷歌寻找解决方案,如果找到的话我会在这里发布,但我也非常感谢一些有用的输入:)

THX

1 个答案:

答案 0 :(得分:2)

这个正则表达式做你想要的(至少在Kodos ......你的里程可能会有所不同!)

<li class="someClass someClass[0-9]+">(.*\n)*?</li>