正常表达问题与向后看和前瞻
问题描述:
我试图创建一个正则表达式,从<div class="entrytext">
的所有内容到这个div类旁边的第一个</p>
。正常表达问题与向后看和前瞻
目前,这是我所:
(?<=<div class="entrytext">.*<p>).*(?></p>)
向好导致这个div上面所有的代码不匹配,但我遇到的问题是在这之后<div>
也有很多</p>
在文档中。
我想要的是接下这个div的所有内容,但直到找到第一个</p>
。
你能帮我一下吗?提前致谢。
答
- 大多数正则表达式解析器不允许可变长度lookbehinds
- 您需要非贪婪的运营商
(?<=<div class="entrytext">.*?<p>).*?(?></p>)
- 正则表达式是(令人惊讶的一次)的工具(A
?
你*
后)这个工作,但仍然看着HTML解析器,无论你正在做什么需要这可能会受益于一个。
什么编程语言?另外,http://*.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 – BoltClock 2011-04-10 17:53:16
即时通讯使用C#。谢谢。 – Jose3d 2011-04-10 17:53:37