使用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上使用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>");
它在工作。。。