Heim >Backend-Entwicklung >Python-Tutorial >Wie extrahiere ich Teilzeichenfolgen zwischen Markierungen in Python mithilfe regulärer Ausdrücke?

Wie extrahiere ich Teilzeichenfolgen zwischen Markierungen in Python mithilfe regulärer Ausdrücke?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-07 01:42:10617Durchsuche

How to Extract Substrings Between Markers in Python Using Regular Expressions?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn