在你说我之前,是的,我知道你不应该用正则表达式解析HTML,你应该使用专用的解析器。我没有使用我正在使用的语言(Xojo)的选项,出于各种原因,我需要使用RegEx。
我正在尝试捕获可能包含或不包含嵌套HTML元素的整个HTML块。例子:
<blockquote> This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
id sem consectetuer libero luctus adipiscing.</blockquote>
-----------------
<blockquote> This is the first level of quoting.
<blockquote> This is nested blockquote.</blockquote>
Back to the first level.</blockquote>
-----------------
<div>
Not nested
</div>
-----------------
<div>
Top level
<div>Nested</div>
</div>
我提出了这种模式:<(\w*)>([\S\s]*?)<\/\1>
但是当它适用于HTML块时,如果块包含与父块具有相同标记的HTML块,则它将失败。 Online example here
我正在使用RegEx的PRCE变体并在Xojo编码。
有没有人对如何解决这个问题有任何有用的建议?谢谢。