我已获得此 Regex 以在项目中使用,但它似乎无法正常工作 - 它之前在其他应用程序中工作过。
它告诉我 解析 "((^[^_]{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 风格中)。
如果你想要一个下划线,只需使用_
。
关于c# - 为什么正则表达式匹配抛出异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16019812/