Regex需要删除和替换两个条件中指定的html标记';s使用C#

Regex需要删除和替换两个条件中指定的html标记';s使用C#,c#,html,asp.net,regex,C#,Html,Asp.net,Regex,1) 仅用相应的html标记替换少数html标记 示例:用h4标签替换h1标签,用p标签替换div标签 输入: <div><h1>First</h1><h1 align='center'>Second</h1></div><span>third</span> <div><h4>First</h4><h1 align='center'>Second<

1) 仅用相应的html标记替换少数html标记

示例:用h4标签替换h1标签,用p标签替换div标签

输入:

<div><h1>First</h1><h1 align='center'>Second</h1></div><span>third</span>
<div><h4>First</h4><h1 align='center'>Second</h1></div>
firstsecond第三
预期产出:

<p><h4>First</h4><h4 align='center'>Second</h4></p><span>third</span>
第一秒

第三秒
2) 只删除几个html标记

示例:删除div和h1标记

输入:

<div><h1>First</h1><h1 align='center'>Second</h1></div><span>third</span>
<div><h4>First</h4><h1 align='center'>Second</h1></div>
FirstSecond
预期产出:

<h4>First</h4>Second
FirstSecond
仅供参考:我试过使用


Regex.Replace(html,@“”)
您是否尝试过Regex
]*>
?(或者,如果您只想删除
h1
标记,
]*>
?)

您可以在正则表达式中使用捕获组,并根据此处的文档在替换中使用它们:

//要删除所有h1标记:
Regex.Replace(html,@“]*>”,“”)
//要使用p替换所有div标记,请保持相同的属性:
Regex.Replace(html,@“(]*>)”,“$1p$2”)
//要更改div标记的属性,需要两个正则表达式:
//一个用于打开标签
Regex.Replace(html,@“]*>,“

”) //一个作为结束标记 Regex.Replace(html,@“,”

”)

添加上一个示例是为了回答注释,之所以需要两个,是因为字符串的新部分(将添加)不同。

使用正则表达式解析html。。。。当被接受的答案解决了你们眼前的问题时,你们所问的问题更广泛,并且符合标准“用正则表达式解析HTML”的副本。请确保在前几次回答之后阅读答案,其中包含了很多详细信息:为什么很难,您可以使用正则表达式的哪些特定于框架的功能,以及更重要的是,推荐的替代方案是什么(例如,对于C#而言,如果您的HTML不是来自一个固定的源代码,则HtmlAgilityPack是常见且更易于使用的解决方案)。链接到问题:谢谢DANIEL 1)您是否可以添加正则表达式以替换不包含属性的标记以及具有属性的新标记。示例替换为