C# 用于隔离html标记的正则表达式

C# 用于隔离html标记的正则表达式,c#,javascript,.net,html,regex,C#,Javascript,.net,Html,Regex,我正在寻找一个正则表达式来隔离html标记。这包括属性的标记和内部的CONTNET 假设我有这个: <html> <body> aajsdfkjaskd <TAGNAME name="bla" context="non">hfdfhdj </TAGNAME> </body> </html> 我需要一个正则表达式,它将返回: <TAGNAME name="bla" context="non">hfdfhdj

我正在寻找一个正则表达式来隔离html标记。这包括属性的标记和内部的CONTNET

假设我有这个:

<html> 
<body>
aajsdfkjaskd 
<TAGNAME name="bla" context="non">hfdfhdj </TAGNAME>
</body>
 </html>
我需要一个正则表达式,它将返回:

<TAGNAME name="bla" context="non">hfdfhdj </TAGNAME>
谢谢,,
Joe

使用这个正则表达式不要使用正则表达式,而是使用HTML解析器。更可靠,更容易使用


如果你是PHP开发人员,我建议你使用这个http://simplehtmldom.sourceforge.net/.

如果这是您要做的主要事情,那么XLST是一个很好的工具。 您可以轻松地选择标记名并复制属性和文本。
请参阅以获取介绍

调查一下会让事情变得容易得多

首先,不要这样做。使用正则表达式解析HTML是维护的噩梦,在任何真实的HTML示例中都很可能失败。还有更好的选择,比如使用HTML解析器,比如

不过,为了回答您的问题,如果HTML代码

格式良好,无遗漏的结束标记等 不包含带有标记名的注释 不包含带有标记名的脚本块 也许更多 它可以扩展到包括其中的一些情况,但你真的不想=


在一般情况下,这是不可能的。如果对标记周围和/或包含在标记中的HTML的性质有特定的限制,您应该描述这些限制。@Pointy:我相信这在支持平衡匹配的C正则表达式中是可能的。我相信,没有人真的想这么做,只要确保没有嵌套的标记名,那么Hello world bananait的catch-outer标记和inner-inside标记呢