Kann Regex-Treffer und erweiterte Übereinstimmungen zurückgeben. Was ich meine, ist ein Regex-Ausdruck, der abhängig von der Struktur eine unterschiedliche Anzahl gefundener Elemente zurückgeben kann. Mein Text ist:Regex-Return-Match und erweiterte Übereinstimmungen
AB : CDE/123.456.1; 1
AC : DEF/3.1.2
Meine Rückkehr (Spiel) sein sollte:
'AB', 'CDE', '123.456.1', '1'
'AC', 'DEF','3.1.2'
Also, wenn es einen Wert nach einem Semikolon ist dann die regex sollte das auch passen und zurück. Aber wenn nicht, sollte es immer noch mit dem Teil übereinstimmen und den Rest zurückgeben.
Mein Code ist:
import re
s = '''AB : CDE/123.456.1; 1
AC : DEF/3.1.2'''
match1 = re.search(r'((?:AB|AC))\s*:\s*(\w+)\s*\/\s*([\w.]+)\s*(;\s*\d+)', s)
print(match1[0])
match2 = re.search(r'((?:AB|AC))\s*:\s*(\w+)\s*\/\s*([\w.]+)\s*', s)
print(match2[0])
Wo Match1 nur das erste Auftreten entspricht und Match2 nur die zweiten. Was wäre die Regex in beiden Fällen zu arbeiten?
Fügen Sie ein '?' am Ende des ersten Musters hinzu. –
Danke! Das funktioniert! Wenn Sie eine Antwort schreiben, werde ich sie akzeptieren. – mrCarnivore