如何提取由特定模式分开的JSON对象字符串
How to extract Json object strings separated by specific pattern?
,所以问题非常简单。几个小时后,浏览了关于正则的线程,我仍然无法提出那些会按照代码部分所述的字符串。
中所述。这是我尝试过的一些正则表达式(为了阅读而没有逃脱后斜线(:
/d+({.*?})(?:(|d+|$|))/;
/d+({.+})(?:(|d+|$|))/;
/d+({.*?})(?:(|d+|B|))/;
/d+({.+})(?:(|d+|B|))/;
/d+({.*?})(?:(|d+|))/;
/d+({.+})d+/;
/d+({.*?})d+/;
这是我最接近我除外的东西:
/d+({.*?})d+|d+({.*?})/
QString haystack = "5:4{"type":"someType","data":{"subJson":123}}"
"9406:22{"type":"SomeOtherType","data":{"subJson":648,"data":{"subSubJson":25}}}"
"125:10{"last":79}"; // The quotes are obviously escaped but reading sake...
QRegularExpression re = QRegularExpression("\d+({.*?})\d+|\d+({.*?})");
QRegularExpressionMatchIterator i = re.globalMatch(haystack);
QStringList matches;
while (i.hasNext()) {
QRegularExpressionMatch match = i.next();
QString result = match.captured(1); // Group match
matches << result;
}
qDebug() << matches;
我期望的:
"{"type":"someType","data":{"subJson":123}}"
"{"type":"SomeOtherType","data":{"subJson":648,"data":{"subSubJson":25}}}"
"{"last":79}"
我真正得到的:
"{"type":"someType","data":{"subJson":123}}"
"{"type":"SomeOtherType","data":{"subJson":648,"data":{"subSubJson":25}}}"
"" //The last one wasn't matched
但是,与完整的比赛有关:
"4{"type":"someType","data":{"subJson":123}}9406"
"22{"type":"SomeOtherType","data":{"subJson":648,"data":{"subSubJson":25}}}125"
"10{"last":79}"
解决方案是:
/d+({.*?})(?:d+|$)/
首先使用" d '进行预处理数字的支票,然后组匹配卷曲括号之间的所有内容而不贪婪,因此'({。在一组数字' d '或单词'$',',(?: d | $('
相关文章:
- 在c++中使用nlohmann从类到json的转换
- 具有奇怪重复模板模式的派生类中的成员变量已损坏
- 为什么在保护模式下继承升级不起作用
- 如何在全屏模式下(在OpenGL中)使背景透明
- C++json插入数组
- nlohmann-json将一个数组插入到另一个数组中
- 为什么使用__LINE_的代码在发布模式下在MSVC下编译,而不是在调试模式下
- 派生类是否可以在抽象工厂设计模式中具有数据成员
- 如何使用curlpp通过POST方法上传文件和json数据
- 此模式的C++RegEx
- JSON转换为nlohmann JSON-lib中的结构数组
- avrogencpp能为模式中的每种类型生成单独的头文件吗
- NLOHMANN 的 JSON 库将数组转换为结构向量
- 如何提取由特定模式分开的JSON对象字符串
- 如何通过将JSON数据修改为RapidJson通过将其修改为其他模式
- FlatC是否验证了给定JSON的FlatBuffer模式所需的字段
- Docker远程API JSON模式定义
- 如何在Objective-C中验证JSON模式
- 将 valijson 与 Nlohmann 的 JSON for Modern C++ 结合使用,以验证具有子模式的模式
- 实体-属性-值模式或数据库中的JSON