Замена строк с помощью регулярных выражений - PullRequest
3 голосов
/ 06 июля 2011

У меня есть очень простое регулярное выражение, которое, похоже, работает в системах онлайн-тестирования регулярных выражений, но когда я подключаю его к своему коду, он не работает.

Я хотел бы удалить элементы между двумя комментариями в html.

Я использую следующий код для этого:

string source = x;
String matchpattern = @"<!-- link -->.*<!-- /link -->";
String replacementpattern = @"";
string result = Regex.Replace(source, matchpattern, replacementpattern);

где x - это следующее:

<!-- link -->\n\t\t\t\t\t\t<p class=\"backToTop\"><a href=\"#content\">    Back to top</a></p>\n\t\t\t\t\t\t<!-- /link -->

Если у кого-то есть какие-либо идеи, они будут очень признательны.

Ответы [ 2 ]

3 голосов
/ 06 июля 2011

\n в x сбивает с толку ... но это легко исправить. Просто добавьте четвертый аргумент RegexOptions.Singleline, чтобы . все еще совпадало с \n.

на ваш Replace звонок:

string result = Regex.Replace(source, matchPattern, replacementPattern,
                              RegexOptions.Singleline);
0 голосов
/ 06 июля 2011

Установка опции для одной строки (?s), например: (?s)<!-- link -->.*<!-- /link -->

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