正则表达式不匹配,不知道为啥[重复]
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 与正则表达式不匹配