将此视为输入字符串
...
HTML.INPUT({value:function(){return Spacebars.mustache(e.lookup("counter"))}})
...
我想要一个正则表达式从上面的字符串中删除 <h1 class="h1class"><span style="font-weight: bold;">abc</span></h1>
。
我为style = [\ s \ w \ W] *“创建了一个正则表达式,但是”在表达式的末尾是不可接受的。
并且我也不能使用\ W,因为整个行将被选中style="font-weight: bold;"
,但我想要style="font-weight: bold;">abc</span></h1>
。
任何人都可以帮助我获得预期的结果。
提前完成..!
答案 0 :(得分:2)
我想要一个正则表达式来删除style =&#34; font-weight:bold;&#34;来自上面的字符串。
为什么要将正则表达式用于固定字符串替换? String.Replace
对你来说还不够吗?
input.Replace(@"style=""font-weight: bold;""", "");
话虽这么说,你真的不应该使用字符串方法处理HTML。使用解析器进行任何比上述更复杂的工作。
答案 1 :(得分:0)
string input = @"<h1 class=""h1class""><span style=""font-weight: bold; "">abc</span></h1>";
var output = Regex.Replace(input, @"style=\"".+?\""", "");
答案 2 :(得分:0)
以下是使用HtmlAgilityPack
:
var html= "<h1 class=\"h1class\"><span style=\"font-weight: bold;\">abc</span></h1>";
HtmlAgilityPack.HtmlDocument hap = new HtmlAgilityPack.HtmlDocument();
hap.LoadHtml(html);
var nodes = hap.DocumentNode.Descendants("span");
if (nodes != null)
foreach (var node in nodes)
if (!string.IsNullOrEmpty((node.GetAttributeValue("style", string.Empty))))
node.Attributes["style"].Remove();
Console.WriteLine(hap.DocumentNode.OuterHtml);
输出:
<h1 class="h1class"><span>abc</span></h1>
您可以根据自己的要求进一步调整。
答案 3 :(得分:0)
这个正则表达式怎么样:
<([^>]*)(\sstyle=\".+?\"(\s|))(.*?)>
替换模式:
<$1$3>
在systemtextregularexpressions.com上查看此Match.Replace演示。
结果: