c# - 由于换行符,正则表达式无法工作?

标签 c# asp.net regex

这是我到目前为止所尝试转换的:

[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/

相关文章:

c# - 如何使用 DirectShow 过滤器将图像序列转换为视频?

c# - 在 HttpClientHandler 可移植类库 (PCL) 中设置代理时找不到方法

c# - 在 ViewModel 中创建 KeyBinding 时添加参数

c# - ASP.NET session 过期时间

php - 递归正则表达式不起作用

c# - 当 FormBorderStyle 设置为 None 时 winforms 绘制边框并 move

asp.net - View 中的域对象

asp.net - 如何在 DeleteCommand 事件中获取 radgrid 中的列值

php - 使用正则表达式从 URL 获取字符串?

java - 注释结束或结束语句后拆分字符串