为什么正则表达式匹配会抛出异常?

本文关键字:抛出异常 正则表达式 为什么 | 更新日期: 2023-09-27 18:09:11

我已经给了这个Regex在一个项目中使用,它似乎不能正常工作-它以前在其他应用程序中工作过。

告诉我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})$";

我没有正则表达式的经验,但我认为用@前缀字符串可以解决任何反斜杠问题…为什么这行不通呢?

为什么正则表达式匹配会抛出异常?

言出所料

'_不是正则表达式转义序列(在. net风格的正则表达式中)。

如果需要下划线,请使用_

您的字符串包含几个'_的实例。

下划线是文字字符,不需要转义。