我已经获得了这个正则表达式在项目中使用,它似乎没有正常工作 - 它之前在其他应用程序中有效。
它告诉我parsing "((^[^_]{1}\S{1,40})\_(\S{5,6})\_(\S{1,4})\_(\S{1,4})\_(\S{4,6}))(\.{1}\S{1,5})$" - Unrecognized escape sequence \_.
我将文件中的正则表达式作为常量:
public static string MatchDocument = @"((^[^_]{1}\S{1,40})\_(\S{5,6})\_(\S{1,4})\_(\S{1,4})\_(\S{4,6}))(\.{1}\S{1,5})$";
我不是那种使用正则表达式的经验,但我认为在@
之前添加字符串可以解决任何反斜杠问题......为什么这不起作用?
答案 0 :(得分:5)
这正是它所说的内容。
\_
不是正则表达式转义序列(在正则表达式的.NET风格中)。
如果你想要一个下划线,只需使用_
。
答案 1 :(得分:1)
您的字符串包含多个\_
个实例。这不是一个有效的正则表达式转义。
答案 2 :(得分:0)
下划线是文字字符,不需要转义。