Avatar ·

Extrahieren von Regex-Übereinstimmungen in Swift

Hallo zusammen! Ich bin neu in Swift und versuche, Daten aus einem String mit regulären Ausdrücken zu extrahieren. Ich habe einen String wie: "Hallo, ich heiße Ivan, ich bin 25 Jahre alt, ich lebe in Moskau". Ich möchte Name, Alter und Stadt separat extrahieren. In anderen Sprachen (z.B. Python) habe ich `re.findall()` verwendet, aber in Swift ist alles anders. Ich habe versucht, `NSRegularExpression` zu verwenden, aber ich bin verwirrt. Hier ist mein Code: ```swift let text = "Hallo, ich heiße Ivan, ich bin 25 Jahre alt, ich lebe in Moskau" let pattern = "Ivan|25|Moskau" let regex = try? NSRegularExpression(pattern: pattern) let matches = regex?.matches(in: text, range: NSRange(location: 0, length: text.utf16.count)) for match in matches ?? [] { print((text as NSString).substring(with: match.range)) } ``` Das funktioniert, aber nur, wenn ich die Werte fest codiere. Ich muss die Daten dynamisch extrahieren: Name (jedes Wort nach "heiße"), Alter (jede Zahl nach "bin"), Stadt (jedes Wort nach "in"). Ich habe versucht, ein Pattern mit capturing groups zu schreiben, z.B.