正则表达式不匹配,不知道为啥[重复]

Posted

技术标签:

【中文标题】正则表达式不匹配,不知道为啥[重复]【英文标题】: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 【参考方案1】:

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

【讨论】:

\s 将是空格(换行符、制表符和空格)的字符类。

以上是关于正则表达式不匹配,不知道为啥[重复]的主要内容,如果未能解决你的问题,请参考以下文章

为啥这个正则表达式不起作用:r'.*logo.*' [重复]

为啥 Windows 上的 git commit-msg 与正则表达式不匹配

为啥这个正则表达式不匹配这个文本?

正则表达式.+可以匹配空格,但是[.\w]+却不匹配,为啥?

Python正则表达式,多行匹配模式..为啥这不起作用?

为啥这个正则表达式不生成匹配?