使用regex从c中的html内容中删除html标记

本文关键字:html 删除 标记 使用 中的 regex | 更新日期: 2023-09-27 17:50:48

我有一个很大的html内容。从那以后,我必须从HTML内容中删除以下文本。

<span id="sso-container"><span class="username">{Inner text could be anything}</span></span>

在上面提到的片段中,"{内部文本可以是任何内容}"意味着可以是任何文本。

在整个HTML中,无论在哪里

<span id="sso-container"><span class="username">{Inner text could be anything}</span></span>

存在时,它将被一些固定文本所取代。

有人能提出这个需求的正则表达式是什么吗。

使用regex从c中的html内容中删除html标记

我真的建议你在RegEx上使用HTMLAgility包。

在您决定使用基于RegEx的解决方案之前,请阅读此警告。您可以在这个SO问题中找到基于正则表达式的答案。

HtmlDocument doc = new HtmlDocument;
doc.Load(htmlstring);
HtmlNode node = doc.DocumentNode.SelectSingleNode("//span"); 
//Here, you can also do something like (".//span[@id='sso-container' class='username')    
string value = node.InnerText; 
//this string will contain the value of span, i.e. <span>***value***</span>
var pattern = @"<span id=""sso-container""><span class=""username"">.*?</span></span>";
        var regex = new Regex(pattern);
        bool test = regex.IsMatch(@"<span id=""sso-container""><span class=""username"">dynamic</span></span>");

它在工作。。。