使用正则表达式替换字符串

时间:2011-07-06 13:56:53

标签: .net regex c#-4.0

我有一个非常简单的正则表达式似乎适用于在线正则表达式测试系统,但当我将其插入我的代码时,它失败了。

我想在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 个答案:

答案 0 :(得分:3)

\n中的x令人困惑......但它很容易修复。只需添加RegexOptions.Singleline的第四个参数,以便.仍匹配\n

Replace来电:

string result = Regex.Replace(source, matchPattern, replacementPattern,
                              RegexOptions.Singleline);

答案 1 :(得分:0)

设置单行选项(?s),例如:(?s)<!-- link -->.*<!-- /link -->