首先,我不是正则表达式的专家,所以我很确定我做错了什么。这个正则表达式有什么问题?
这里是我的正则表达式:
<(list)(\b[^>]*)>(<\1\b[^>]*>.*?<\/\1>|.)*?<\/\1>
这是输入字符串:
...
<list title="Lorem ipsum dolor sit amet, consectetur adipiscing elit...">
<li>
<list title="Lorem adipiscing...">
<li>Lorem ipsum dolor sit amet, consectetur adipiscing elit</li>
<li>Lorem ipsum dolor sit amet, consectetur adipiscing elit</li>
</list>
</li>
<li>
<list title="Lorem ipsum...">
<li>Lorem ipsum dolor sit amet, consectetur adipiscing elit</li>
</list>
</li>
<li>Lorem ipsum dolor sit amet, consectetur adipiscing elit
</li>
<li>Lorem ipsum dolor sit amet, consectetur adipiscing elit
</li>
</list>
...
我想匹配的外部<list>
和捕获所有包括intertal <list>
内容,但是当我尝试阅读群组\3
是空的althoug群体\1
和\2
都很好。
任何想法将非常感激。
你的正则表达式的问题是你正在使用它来解析HTML。 – cletus 2010-08-17 03:58:21
澄清cletus的答案(这是这个问题的正确答案):http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 – Borealid 2010-08-17 04:00:11
...现在你有两个问题。 /因为我们引出陈词滥调。 – dmckee 2010-08-17 04:01:32