Какое регулярное выражение удалит все атрибуты из тега BR? - PullRequest
3 голосов
/ 22 марта 2010

Какое регулярное выражение в 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 ]

8 голосов
/ 22 марта 2010

что-то вроде:

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

или без IgnoreCase:

Regex.Replace(myString, "<[Bb][Rr][^>]*>", "<br/>");
0 голосов
/ 22 марта 2010

Предполагая, что у вас никогда не было атрибутов после стиля, я бы поставил что-то вроде

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));
  }
}

Возможно, вам лучше воспользоваться программным решением, если после атрибута стиля в теге записаны атрибуты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...