【发布时间】:2020-11-13 19:25:08
【问题描述】:
我需要从 JSON 中提取消息内容,我不允许使用 JSON 解析器,所以我尝试使用正则表达式,但是我在提取消息内容时遇到了困难。我正在使用 C++。
以下是 JSON 文件的示例:
{
"id":"776752463986294785",
"type":0,
"content":"\"",
"channel_id":"762106839054811176",
"author":{
"id":"487706666905894923",
"username":"Emzak",
"avatar":"a70859ecda1355dfd55bddcfd0194458",
"discriminator":"6235",
"public_flags":0
},
"attachments":[
],
"embeds":[
],
"mentions":[
],
"mention_roles":[
],
"pinned":false,
"mention_everyone":false,
"tts":false,
"timestamp":"2020-11-13T10:16:58.777000+00:00",
"edited_timestamp":null,
"flags":0
}
正如我所说我需要内容字段,我当前的正则表达式是:
"content"[ :]+(\"[^"]*\")
除非内容中有引号,否则该方法有效。如果有的话,它们总是会被逃脱,但我还没有找到摆脱它们的方法。带引号我当前的正则表达式给了我这个字符串:
"content": "\"
如果引号后面有任何消息,那将是有问题的。我想得到这个字符串:
"content": "\""
任何帮助将不胜感激,谢谢:)
【问题讨论】: