C#Regex Escape序列

时间:2010-11-25 10:14:33

标签: c# regex

某处有正则表达式转义序列的完整列表吗?我找到了this,但是对于初学者来说却遗漏了\\\e。到目前为止,我已经想出了这个正则表达式模式,希望能匹配所有的转义序列:

 @"\\([bBdDfnreasStvwWnAZG\\]|x[A-Z0-9]{2}|u[A-Z0-9]{4}|\d{1,3}|k<\w+>)"

3 个答案:

答案 0 :(得分:24)

或者,如果您只想正确转义字符串,则可以依赖Regex.Escape()来为您执行必要的转义。

提示:还有Regex.Unescape()

答案 1 :(得分:6)

这个MSDN page(正则表达式语言元素)是一个很好的起点,this subpage专门针对转义序列。

答案 2 :(得分:5)

不要忘记可能的unicode类别:\p{Lu}\P{Sm}等。

有太多这些可供您单独匹配,但我想您可以使用\\[pP]\{[A-Za-z0-9 \-_]+?\}(未经测试)的行。

您的列表中还缺少更简单的内容:\.\+\*\?等等。

如果你只想尝试现有的正则表达式,那么你可以试试Regex.Unescape。这不是完美的,但它可能比你或我在短时间内敲响的任何东西都要好。