Extraktion von Teilsträngen zwischen Markern
Bei einer gegebenen Zeichenfolge und einem Paar von Markern besteht die Aufgabe darin, den Teilstring zwischen diesen Markern zu extrahieren. Betrachten Sie beispielsweise die Zeichenfolge „gfgfdAAA1234ZZZuijjk“. Das Ziel besteht darin, den Teil „1234“ zu erhalten.
In Python bieten reguläre Ausdrücke eine leistungsstarke Lösung für dieses Problem. Betrachten Sie den folgenden Codeausschnitt:
import re text = 'gfgfdAAA1234ZZZuijjk' m = re.search('AAA(.+?)ZZZ', text) if m: found = m.group(1) # found: 1234
Der Ausdruck „AAA(. ?)ZZZ“ entspricht jeder Teilzeichenfolge zwischen „AAA“ und „ZZZ“. Die Klammern im Ausdruck erfassen die Teilzeichenfolge als Gruppe und die '. ?' Der Quantifizierer stellt sicher, dass eine beliebige Anzahl von Zeichen nicht gierig gefunden wird.
Die Funktion re.search() findet das erste Vorkommen des Musters im Text und gibt ein Übereinstimmungsobjekt zurück, das die erfasste(n) Gruppe(n) enthält. . Die Methode group(1) extrahiert den Teilstring zwischen den Markierungen und weist ihn der gefundenen Variablen zu.
Alternativ kann der Try-Except-Block potenzielle Fehler verarbeiten:
import re text = 'gfgfdAAA1234ZZZuijjk' try: found = re.search('AAA(.+?)ZZZ', text).group(1) except AttributeError: # AAA, ZZZ not found in the original string found = '' # Your error handling here # found: 1234
Dieser Ansatz garantiert dass das Programm auch dann weiterläuft, wenn die Markierungen nicht im Text vorhanden sind, da es den AttributeError behandelt, der auftritt, wenn die Methode group(1) fehlschlägt.
Das obige ist der detaillierte Inhalt vonWie extrahiere ich Teilzeichenfolgen zwischen Markierungen in Python mithilfe regulärer Ausdrücke?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!