正则表达式将从BR标记中删除所有属性?

时间:2010-03-22 15:13:34

标签: c# regex

C#正则表达式将取代所有这些:

<BR style=color:#93c47d>
<BR style=color:#fefefe>
<BR style="color:#93c47d">
<BR style="color:#93c47d ...">
<BR>
<BR/>
<br style=color:#93c47d>
<br style=color:#fefefe>
<br style="color:#93c47d">
<br style="color:#93c47d ...">
<br>
<br/>

使用:

<br/>

基本上“从任何BR元素中移除所有属性并将其小写”。

2 个答案:

答案 0 :(得分:8)

类似的东西:

Regex.Replace(myString, "<br[^>]*>", "<br/>", RegexOptions.IgnoreCase);

或没有IgnoreCase

Regex.Replace(myString, "<[Bb][Rr][^>]*>", "<br/>");

答案 1 :(得分:0)

假设你在风格之后从未有任何属性,我会打赌像

class Program
{
  const string SOURCE = @"<BR style=color:#93c47d>
<BR style=color:#fefefe>
<BR style=""color:#93c47d"">
<BR style='color:#93c47d'>
<BR>
<BR/>
<br style=color:#93c47d>
<br style=color:#fefefe>
<br style=""color:#93c47d"">
<br style='color:#93c47d'>
<br>
<br/>";

  static void Main(string[] args)
  {
    const string EXPRESSION = @"(style=[^""'][^>]*)|(style=""[^""]*"")|(style='[^']*')";

    var regex = new Regex(EXPRESSION);

    Console.WriteLine(regex.Replace(SOURCE, string.Empty));
  }
}

如果在样式属性之后将属性写入标记,那么使用编程解决方案可能会更好。