Gibt es eine Möglichkeit, alle Gruppen mithilfe der Regex-Syntax direkt zu ersetzen?
Der normale Weg:
re.match(r"(?:aaa)(_bbb)", string1).group(1)
Aber ich möchte so etwas erreichen:
re.match(r"(\d.*?)\s(\d.*?)", "(CALL_GROUP_1) (CALL_GROUP_2)")
Ich möchte die neue Zeichenfolge sofort aus den Gruppen erstellen, die der Regex gerade erfasst hat.
python
regex
regex-group
mc_kaiser
quelle
quelle
(r(r))r((r)((r)r))
Situation anrufen sollte ?1(r2(r))r3(4(r)5(6(r)r))
.Die akzeptierte Antwort ist perfekt. Ich würde hinzufügen, dass Gruppenreferenzen wahrscheinlich besser mit dieser Syntax erreicht werden:
für die Ersatzzeichenfolge. Auf diese Weise umgehen Sie Syntaxbeschränkungen, bei denen auf eine Gruppe möglicherweise eine Ziffer folgt. Auch dies ist alles im Dokument vorhanden, nichts Neues, nur manchmal auf den ersten Blick schwer zu erkennen.
quelle