【发布时间】:2018-01-15 00:02:59
【问题描述】:
我在 HTML/XML 中有以下行:
<p class="myText" style="...">some text here</p>
我使用以下正则表达式来捕获“p”标签中的内容:
<p\sclass=\"myText\"[^>]*>([^<]*)</p>
直到今天,当以下 HTML/XML 在“p”标签中嵌入一些“i”和“b”标签时,它一直有效,就像在这个示例中一样:
<p class="myText" style="...">some <b style="...">bold</b> and <i>italic</I> text here</p>
如何修改正则表达式以获取最后一个示例中“p”标签中的内容,包括“b”和“i”标签?
【问题讨论】:
-
有效:是的。好主意:不。使用 HTML 解析器。您将获得可以阅读的代码,这些代码将更健壮且更易于维护。
-
公平,但这并不能回答如何用正则表达式解决它的好奇心......这是最初的问题。我相信它可以做到!
-
为什么会有人对此投票?
-
我同意@Quentin。 yms 的解决方案至少现在应该可以解决您的问题,但是如果您正在寻找更强大的解决方案,那不是这样。我建议评估 xpath 的使用,这是一个很好的工具。