这是我到目前为止所尝试转换的:
[quote="Tom":1m8ud0zc]blah blah[/quote:1m8ud0zc]
进入
<table width="99%"><tr><td class="BBquote"><strong><em>Originally posted by Tom</strong></em><br /><br />blah blah</td></tr></table>
但是引号标签之间的文本可以有换行符,这似乎使它不起作用,谁能告诉我如何使 (.*?) 也包含匹配每个特殊字符?
Message = Regex.Replace(Message,
@"\[quote=""(.*?)"":.*?](.*?)\[/quote:.*?]",
"<table width=\"99%\"><tr><td class=\"BBquote\"><strong><em>Originally posted by $1</strong></em><br /><br />$2</td></tr></table>"
);
最佳答案
使用RegexOptions.Singleline
。它改变了点 (.) 的含义,因此它匹配每个字符,而不是除\n 之外的每个字符。
Message = Regex.Replace(Message,
@"\[quote=""(.*?)"":.*?](.*?)\[/quote:.*?]",
"<table width=\"99%\"><tr><td class=\"BBquote\"><strong><em>Originally posted by $1</strong></em><br /><br />$2</td></tr></table>",
RegexOptions.Singleline
);
关于c# - 由于换行符,正则表达式无法工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5628675/