【发布时间】:2015-08-03 17:28:24
【问题描述】:
下面是我已经研究了很长时间的正则表达式语句。我遇到的问题是他们有很多我试图解析的引文(我认为这是我正在寻找的术语),所以 Visual Studio 对此感到很害怕。我尝试使用转义字符来解决这个问题,但它仍然无法识别整个短语。
这是没有转义字符的短语:
string exceptionPattern = @"(?:(?:"([^"}]*)")|(\w+))\s*:\s*(?:(?:"([^"}]*)")|(\w+))";
只有这段代码,没有别的,我代码中的几乎每一行都会受到影响。这是使用转义字符的代码:
string exceptionPattern = @"(?:(?:\"([^\"}]*)\")|(\w+))\s*:\s*(?:(?:\"([^\"}]*)\")|(\w+))";
一旦发生这种情况,只有这条线不起作用。在 VS 中,靠近开头的 ([^\ 部分没有突出显示,这意味着它不在引号中。有人知道如何解决这个问题吗?
这是我要匹配的字符串。注意:这不是 JSON!我已经与创建此示例所在数据库的开发人员多次确认,他确认它不是 JSON,所以请不要尝试在此上使用 JSON。此外,我拥有的正则表达式正在尝试匹配 displayException 和它之后的消息,以及异常和之后的消息,包括成功 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}
【问题讨论】:
-
使用
""转义" -
在逐字字符串文字中,要键入
",您需要像""一样将其翻倍。你能提供一个示例字符串来匹配吗? -
@stribizhev 我在代码中提供了一个示例字符串
-
是的,jsonlint.com 说它是一个有效的 JSON 字符串。我建议尝试使用 JSON 库来处理此类字符串。
-
@AvinashRaj 谢谢。如果您以答案的形式发表评论,我会给您最佳答案