ind*_*dra 1 c# regex asp.net string.format
我正在构建文档从模板引擎.在某些时候,我需要在Reg Exp组上进行匹配,并将模板文本替换为db中的内容.
我最初硬编码了我的RegExp,做了类似的事情:
Regex r = new Regex(@"{DocSectionToggle::(?<ColumnName>\w+)::(?<ResponseValue>.+)}\n\[\[(?<SectionContent>.+)\]\]", RegexOptions.Multiline);
Run Code Online (Sandbox Code Playgroud)
道歉:它会进行群组捕获,因此语法不是最漂亮的.
只是为了让事情变得更整洁,因为我想'保持web.config或其他地方的模式,我'''''''''''''''''''''''''''''''''''
string _regexp_DocSectionToggle = @"{DocSectionToggle::{0}::{1}}\n\[\[{2}\]\]";
/* Reg Exp Patterns for group capture */
string _rxCol = @"(?<{ColumnName}>\w+)";
string _rxResp = @"(?<{ResponseValue}>.+)";
string _rxSectContent = @"(?<{SectionContent}>.+)";
Regex r = new Regex( string.Format(_regexp_DocSectionToggle,
_rxCol,
_rxResp,
_rxSectContent),
RegexOptions.Multiline
);
Run Code Online (Sandbox Code Playgroud)
但我收到一个错误:'输入字符串格式不正确'.
谁能说出我的原因?这是一个限制string.Format(...)吗?
谢谢你的期待.
问题是{和}你不想要标记的格式说明.IIRC,你只需加倍:
string _regexp_DocSectionToggle = @"{{DocSectionToggle::{0}::{1}}}\n\[\[{2}\]\]";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1561 次 |
| 最近记录: |