我正在寻找一个正则表达式来隔离一个html标签。这包括TAG ATTRIBUTES和内部的CONTNET。
假设我有这个:
<html>
<body>
aajsdfkjaskd
<TAGNAME name="bla" context="non">hfdfhdj </TAGNAME>
</body>
</html>
我需要一个可以返回的正则表达式:
<TAGNAME name="bla" context="non">hfdfhdj </TAGNAME>
感谢, 乔
答案 0 :(得分:2)
不要使用正则表达式,而是使用HTML解析器。更可靠,更容易使用。
如果您是PHP开发人员,我建议您使用此开发人员(http://simplehtmldom.sourceforge.net/)。
答案 1 :(得分:1)
调查HTML Agility Pack它会让事情变得更容易。
答案 2 :(得分:0)
使用此正则表达式<TAGNAME.+?</TAGNAME>
答案 3 :(得分:0)
如果这是您尝试做的主要事情,XLST是一个很好的工具。 您可以轻松选择TAGNAME并复制属性和文本。 有关简介,请参阅http://www.w3schools.com/xsl/。
答案 4 :(得分:0)
首先:不要这样做。使用正则表达式解析HTML是一个维护噩梦,并且很可能在任何现实世界的HTML示例中失败。有更好的选择(比如使用像HTML Agility pack这样的HTML解析器。)
要回答您的问题,以下正则表达式将执行您想要的操作如果 HTML代码
它可以扩展到涵盖其中一些案例,但你真的不想=)
<TAGNAME(<TAGNAME (?<tagcounter>)|</TAGNAME>(?<-tagcounter>)|.)*</TAGNAME>(?(tagcounter)(?!))
你也需要RegexOptions.SingleLine
。请参阅Ideone.com