Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 正则表达式替换除字符串以外的所有内容_C#_Regex - Fatal编程技术网

C# 正则表达式替换除字符串以外的所有内容

C# 正则表达式替换除字符串以外的所有内容,c#,regex,C#,Regex,我正在使用正则表达式替换span标记中使用以下表达式的任何格式,它可以正常工作 retValue = System.Text.RegularExpressions.Regex.Replace(retValue, @"<span[^>]*>", "<span>"); retValue=System.Text.RegularExpressions.Regex.Replace(retValue,@“]*>”,“”); 现在,我想替换span标记中除“Underline

我正在使用正则表达式替换span标记中使用以下表达式的任何格式,它可以正常工作

retValue = System.Text.RegularExpressions.Regex.Replace(retValue, @"<span[^>]*>", "<span>");
retValue=System.Text.RegularExpressions.Regex.Replace(retValue,@“]*>”,“”);
现在,我想替换span标记中除“Underline”之外的任何格式。例如,在下面的字符串中,我想删除第二个span标记中的格式,但保留第一个span标记的格式

 string retValue = "<p><span style=\"text-decoration: underline;\">Test Underline</span></P><p><span style="color:blue">blue</span></p>";
string retValue=“测试下划线

蓝色

”;
所以我的价值应该是:

retValue = "<p><span style=\"text-decoration: underline;\">Test Underline</span></P><p><span>blue</span></p>";
retValue=“测试下划线

蓝色

”;
我尝试使用下面的表达式,但它根本不能替换任何内容。我试图理解这段代码的错误,以及如何达到预期的结果

retValue = System.Text.RegularExpressions.Regex.Replace(retValue, @"<span[^style=\""text-decoration:underline;>]*>", "<span>");
retValue=System.Text.RegularExpressions.Regex.Replace(retValue,@“]*>”,“”);

您需要正确转义特殊字符:

var pattern = "\\<span[^style\\=\\\"text\\-decoration\\:underline\\;\\>]*>";
retValue = System.Text.RegularExpressions.Regex.Replace(retValue, pattern, "<span>");

var pattern=“\\n样式属性的可能重复项您是否可以做出任何可靠的保证,确保样式属性的内容看起来不会与您的问题中所示的内容不同?样式属性可能有多种变体,具有不同的CSS属性(其中
文本装饰
仅是其中之一)例如,“代码>文本装饰< /代码>本身不仅可以有单个<代码>下划线值,还可以组合一个组合值,例如<代码>文本修饰:红色下划线< /代码>。除非您可以保证样式属性永远不会有不同的内容,那么,您可能需要考虑使用HTML解析器。这不是回答问题,也不是一个有意义的正则表达式模式。请查阅有关正则表达式的教程,特别是关于
[
]
[
]
^
的函数。