C++ 如何在c++;?
我有一个像这样的物体C++ 如何在c++;?,c++,regex,mongodb,bson,C++,Regex,Mongodb,Bson,我有一个像这样的物体 { "0" : "Kollywood", "1" : "Tollywood" } 我将在mongo db的查询中使用这个bson对象$in来获得所有匹配的标记,而不区分大小写。但我一个人就得到了完全匹配的结果 { 我的要求是,(所有匹配的标签不区分大小写) 我如何在C++中实现这一点? 这里是一个示例代码,你可以使用: string inp = "{\r\n\r\n \"result\": [\r\n {\r\n \"_id\":
{ "0" : "Kollywood", "1" : "Tollywood" }
我将在mongo db的查询中使用这个bson对象$in来获得所有匹配的标记,而不区分大小写。但我一个人就得到了完全匹配的结果
{
我的要求是,(所有匹配的标签不区分大小写)
我如何在C++中实现这一点?
这里是一个示例代码,你可以使用:string inp = "{\r\n\r\n \"result\": [\r\n {\r\n \"_id\": 110, \r\n \"tags\": [\r\n {\r\n \"id\": \"5524cdfffe13b4934bbd6cab\", \r\n \"name\": \"Kollywood\"\r\n }\r\n ]\r\n }\r\n ], \r\n \"ok\": 1\r\n}";
string regx = "(\"tags\":[\\s\\r\\n]+\\[[\\s\\r\\n]+)(\\{[\\s\\r\\n]+\"id\":[\\s\\r\\n]+\"[^\"]*?\",[\\s\\r\\n]+\"name\":[\\s\\r\\n]+\")([^\"]*?)(\"[\\s\\r\\n]+\\})";
regex rxg(regx);
string reslt = regex_replace(inp, rxg, "$1$2$3},\r\n $2KollyWOOD$4");
std::cout << reslt << endl;
string inp=“{\r\n\r\n\“result\”:[\r\n{\r\n\“\u id\”:110\r\n\“tags\”:[\r\n{\r\n\“id\”:“5524cdfffe13b4934bbd6cab\”,\r\n\“name\”:“Kollywood\”\r\n}\r\n\r\n}\r\n}\r\n\“ok\”:1\r\n}”;
string regx=“(\'tags\”:[\\s\\r\\n]+\[\\s\\r\\n]+)(\\{[\\s\\r\\n]+\'id\:[\\s\\r\\n]+\'[^s\\r\\n]*?”,[\\s\\r\\n]+\'name\:[\\s\\r\\n]+\”([^s\\r\\n]*?)(\\\s\\r\\n]+\);
regex rxg(regx);
字符串reslt=regex_replace(inp,rxg,“$1$2$3},\r\n$2KollyWOOD$4”);
std::cout{“0”:“Kollywood”,“1”:“Tollywood”}
这是查询对象,我必须按照以下方式转换它
{
"$or": [
{
"tags.name": {
"$regex": "^kolly wood",
"$options": "xi"
}
},
{
"tags.name": {
"$regex": "^tolly wood",
"$options": "xi"
}
}
]
}
这不是C++的方式。
string inp = "{\r\n\r\n \"result\": [\r\n {\r\n \"_id\": 110, \r\n \"tags\": [\r\n {\r\n \"id\": \"5524cdfffe13b4934bbd6cab\", \r\n \"name\": \"Kollywood\"\r\n }\r\n ]\r\n }\r\n ], \r\n \"ok\": 1\r\n}";
string regx = "(\"tags\":[\\s\\r\\n]+\\[[\\s\\r\\n]+)(\\{[\\s\\r\\n]+\"id\":[\\s\\r\\n]+\"[^\"]*?\",[\\s\\r\\n]+\"name\":[\\s\\r\\n]+\")([^\"]*?)(\"[\\s\\r\\n]+\\})";
regex rxg(regx);
string reslt = regex_replace(inp, rxg, "$1$2$3},\r\n $2KollyWOOD$4");
std::cout << reslt << endl;
{
"$or": [
{
"tags.name": {
"$regex": "^kolly wood",
"$options": "xi"
}
},
{
"tags.name": {
"$regex": "^tolly wood",
"$options": "xi"
}
}
]
}