Ich habe die folgende Zeichenfolge, die ich versuche, eine Regex-String-Extraktion durchzuführen: {"code":5,"id":104,"message":"Not working"}
. Ich muss eine Extraktion durchführen, da manchmal mehrere Zeichenfolgen wie folgt gebündelt werden können: {.....}{...}{......}
NSRegularExpression zum Erfassen von Teilen ungültiger JSON
Ich verwende bereits JSONSerialization für die Fälle, wenn einzelne Nachrichten wie folgt eintreffen: {"code":5,"id":104,"message":"Not working"}
.
Ich brauche die Regex, um die einzelnen Zeichenfolgen zu extrahieren, wenn ich die Nachrichten wie folgt erhalten: {"code":5,"id":104,"message":"Not working"}{"code":5,"id":101,"message":"some message"}{"code":5,"id":105,"message":"test"}
.
Ich habe die folgende Regex, die die Zeichenfolge entspricht: {.*?"id":104.*?}
NSError *error = NULL;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"{.*?\"id\":104.*?}" options:NSRegularExpressionCaseInsensitive error:&error];
//regex is returning (null) here
NSRange range = [regex rangeOfFirstMatchInString:msg options:0 range:NSMakeRange(0, [msg length])];
NSString *result = [msg substringWithRange:range];
//Result is empty
[regex enumerateMatchesInString:msg options:0 range:NSMakeRange(0, [msg length]) usingBlock:^(NSTextCheckingResult *result, NSMatchingFlags flags, BOOL *stop) {
NSRange range = [result rangeAtIndex:1];
NSString *regexStr = [msg substringWithRange:range];
}];
Ich glaube, das Problem mit meiner regex ist. Ich könnte nicht richtig entkommen.
Ich habe versucht {.*?\\\"id\\\":104.*?}
aber das Ergebnis ist das gleiche.
Bin ich damit einverstanden zu sagen, dass ich eine Regex brauchen würde, um die Strings zu verwalten und zu extrahieren, wenn mehrere ankommen?
Ich denke, es ist eine Art von JOSN Formiat, warum Sie nicht JSONSerilation für diesen Einsatz ? – CodeChanger
ist dies "{" code ": 5," id ": 104," nachricht ":" Nicht funktioniert "}' string oder dicioanry –
Wie erwähnt - es sieht so aus, als ob Sie das falsche Werkzeug für den Job verwenden. Das sieht für mich wie JSON aus. Welche Regex ist nicht das Richtige zu tun – Tander