C# 为什么正则表达式匹配抛出异常?
我得到了这个正则表达式,可以在项目中使用,但它似乎工作不正常——它以前在其他应用程序中工作过 它告诉我C# 为什么正则表达式匹配抛出异常?,c#,regex,C#,Regex,我得到了这个正则表达式,可以在项目中使用,但它似乎工作不正常——它以前在其他应用程序中工作过 它告诉我parsing“(^[^^]{1}\S{1,40})\\\\\(\S{5,6})\\\\\(\S{1,4})\\\(\S{1,4})\\\(\S{4,6}))(\.{1}\S{1,5})$”-无法识别的转义序列\ 我将正则表达式作为常量保存在文件中: public static string MatchDocument = @"((^[^_]{1}\S{1,40})\_(\S{5,6})\_(\
parsing“(^[^^]{1}\S{1,40})\\\\\(\S{5,6})\\\\\(\S{1,4})\\\(\S{1,4})\\\(\S{4,6}))(\.{1}\S{1,5})$”-无法识别的转义序列\
我将正则表达式作为常量保存在文件中:
public static string MatchDocument = @"((^[^_]{1}\S{1,40})\_(\S{5,6})\_(\S{1,4})\_(\S{1,4})\_(\S{4,6}))(\.{1}\S{1,5})$";
我没有使用正则表达式的经验,但我认为在字符串前面加上
@
可以解决任何反斜杠问题……为什么不这样做呢?它的意思就是它所说的
\\
不是正则表达式转义序列(在.NET风格的正则表达式中)
如果你想要一个下划线,只需使用
。
它的意思就是它所说的
\\
不是正则表达式转义序列(在.NET风格的正则表达式中)
如果需要下划线,只需使用
\
您的字符串包含多个\\
实例。这不是有效的正则表达式转义。您的字符串包含多个\\
的实例。这不是有效的正则表达式转义。下划线是文字字符,不需要转义 下划线是文字字符,不需要转义