HTML标记取代了多行

时间:2014-01-22 05:48:29

标签: c# regex bbcode

我正在论坛上工作,需要为不同的代码添加替换功能。但它似乎在搜索[qoute]标签时,它只搜索第一行,但我希望它搜索整个字符串,因为它的blockquote并且有多行。

////Block Quote
regExp = new Regex(@"\[quote\](.*?)\[\/quote\]");
strTextToReplace = regExp.Replace(strTextToReplace, "<blockquote>$1</blockquote>");

我该怎么做呢?

1 个答案:

答案 0 :(得分:2)

默认情况下,

.与换行符不匹配。使用RegexOptions.Singleline使.匹配任何字符(包括换行符)。

regExp = new Regex(@"\[quote\](.*?)\[/quote\]", RegexOptions.Singleline);

OR

regExp = new Regex(@"(?s)\[quote\](.*?)\[/quote\]");
顺便说一下,你不需要逃避/