【问题标题】:Regex is not matching, no idea why [duplicate]正则表达式不匹配,不知道为什么[重复]
【发布时间】:2017-10-20 10:10:31
【问题描述】:

只是一个快速的,我可能只是瞎了。我正在使用正则表达式来匹配 JSON 数据位。我有这一行:

String ErrorMessage = new Regex("\"message\":\"\\w+\"").Match(response).Value;

应该希望匹配这样的内容:

"message":"This is a messsage"

但它根本不匹配,但我知道它在里面。

提前致谢。

编辑:虽然这可能不是最佳实践,但这是我第一次同时使用正则表达式和 JSON,因此不想使用任何外部 API 或库。我一定会在未来使用更好的东西:)

这不是重复的,因为我不是在问如何解析 JSON,我只是在问为什么正则表达式与模式不匹配。谢谢。

感谢您的回答!

【问题讨论】:

  • String ErrorMessage = Regex.Match(response,"\"message\":\"\\w+\"").Value;
  • \w 不包含空格。
  • 注意,正则表达式不太适合解析JSON数据。
  • 应该是 [\w\s]+
  • 用 Json.net 解析 JSON

标签: c# json regex


【解决方案1】:

\w 字符类不包含空格字符。

【讨论】:

  • \s 将是空格(换行符、制表符和空格)的字符类。
猜你喜欢
  • 1970-01-01
  • 2022-01-04
  • 2018-08-09
  • 2012-10-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多