Ich habe zwei Strings:regex gierig Spiel endet mit Zeichen oder Ende der Zeichenkette
1) "Angelegt Kontoinhaber Teilen Regel test1"
2) „aktualisiert Kontoinhaber-Sharing-Regel test3: Geänderte CaseAccessLevel von Read/Nur schreiben“
Als Ergebnis der Regex Matching ich sehen möchte zu lesen:
1) Erstellt Kontoinhaber Teilen Regel test1
2) Besitzer Freigabe des Kontos aktualisiert Regel test3
in 4 Gruppen eingeteilt:
1) (Erstellt) (Account) (Owner-Sharing-Regel) (test1)
2) (Aktualisiert) (Account) (Gründer-Sharing-Regel) (test3)
zu diesem Zweck habe ich versucht, den nächsten python Regex verwenden:
'^(?P<action>^[^\s]+)\s(?P<target_object_label>.+)\s(?P<object_type>Owner\sSharing\sRule)\s(?P<object_label>.+)(?=:|$)
aber für die zweite Saite 4. Gruppe wie ‚test3 aussieht: Changed CaseAcces sLevel von Lesen/Schreiben zu Nur Lesen '.
Im Wesentlichen Regex sollte entweder am Ende der Zeile oder vor ':' - Zeichen zu stoppen, aber gierige Übereinstimmung erlaubt dies nicht zu tun.
Vielen Dank im Voraus für die Antworten,
Dzmitry
Etwas wie dieses: ** https: //regex101.com/r/sU5dD2/1**? – Jan
Wenn Sie einem Quantifizierer mit einem '?' Folgen, bedeutet dies eine "minimale Übereinstimmung", zum Beispiel '. +?'. – cdarke