如何在 C# 的正则表达式语句中使用额外的引号
How to use extra quotations in a regex statement in c#
下面是我已经研究了很长时间的正则表达式语句。我遇到的问题是他们有很多我试图解析的引语(我认为这是我正在寻找的术语)所以 Visual Studio 对此感到非常害怕。我已尝试使用转义字符来解决此问题,但它仍然无法识别整个短语。
这是没有转义字符的短语:
string exceptionPattern = @"(?:(?:"([^"}]*)")|(\w+))\s*:\s*(?:(?:"([^"}]*)")|(\w+))";
只有这段代码,没有别的,我代码中的几乎每一行都会受到影响。这是使用转义字符的代码:
string exceptionPattern = @"(?:(?:\"([^\"}]*)\")|(\w+))\s*:\s*(?:(?:\"([^\"}]*)\")|(\w+))";
一旦开始发挥作用,只有这条线不起作用。在 VS 中,接近开头的 ([^\ 部分未突出显示,这意味着它不在引号中。有人知道我如何解决这个问题吗?
这是我要匹配的字符串。注意:这不是 JSON!我已经多次与制作此示例来源数据库的开发人员确认,他确认它不是 JSON,因此请不要尝试在此上使用 JSON。此外,我拥有的正则表达式正在尝试匹配 displayException 和它之后的消息,以及异常和之后的消息,包括 success false,使用引号作为拆分点
{"data":"","displayException":"Invalid Account Status. Please complete the registration process by clicking the verification link in your eTTek Dash Registration Verification email. Please contact 1-800-341-6184 M-F 9a-5pm CT for further assistance.","exception":"UNABLE TO LOGIN","success":false}
在逐字字符串中,要转义双引号,您必须在 ""
附近添加另一个双引号。因此编译器将 ""
视为双引号,否则会将 "
视为逐字字符串的结尾。
下面是我已经研究了很长时间的正则表达式语句。我遇到的问题是他们有很多我试图解析的引语(我认为这是我正在寻找的术语)所以 Visual Studio 对此感到非常害怕。我已尝试使用转义字符来解决此问题,但它仍然无法识别整个短语。
这是没有转义字符的短语:
string exceptionPattern = @"(?:(?:"([^"}]*)")|(\w+))\s*:\s*(?:(?:"([^"}]*)")|(\w+))";
只有这段代码,没有别的,我代码中的几乎每一行都会受到影响。这是使用转义字符的代码:
string exceptionPattern = @"(?:(?:\"([^\"}]*)\")|(\w+))\s*:\s*(?:(?:\"([^\"}]*)\")|(\w+))";
一旦开始发挥作用,只有这条线不起作用。在 VS 中,接近开头的 ([^\ 部分未突出显示,这意味着它不在引号中。有人知道我如何解决这个问题吗?
这是我要匹配的字符串。注意:这不是 JSON!我已经多次与制作此示例来源数据库的开发人员确认,他确认它不是 JSON,因此请不要尝试在此上使用 JSON。此外,我拥有的正则表达式正在尝试匹配 displayException 和它之后的消息,以及异常和之后的消息,包括 success false,使用引号作为拆分点
{"data":"","displayException":"Invalid Account Status. Please complete the registration process by clicking the verification link in your eTTek Dash Registration Verification email. Please contact 1-800-341-6184 M-F 9a-5pm CT for further assistance.","exception":"UNABLE TO LOGIN","success":false}
在逐字字符串中,要转义双引号,您必须在 ""
附近添加另一个双引号。因此编译器将 ""
视为双引号,否则会将 "
视为逐字字符串的结尾。