Mehrzeilige Textblöcke mit regulären Python-Ausdrücken abgleichen
In dieser Programmierfrage wollen wir ein bestimmtes Textformat abgleichen, das sich über mehrere Zeilen erstreckt . Der Eingabetext besteht aus abwechselnden Blöcken aus Klein- und Großbuchstaben, wobei der Kleinbuchstabentext eine Basiskomponente und der Großbuchstabentext eine Sequenz von Aminosäuren darstellt.
Problemstellung
Die Aufgabe besteht darin, einen regulären Ausdruck in Python zu erstellen, der zwei Komponenten aus dem Eingabetext erfassen kann:
Die Ausgabe sollte in zwei Erfassungsgruppen unterteilt werden, mit der Basis-Kleinbuchstabenkomponente in Gruppe (1) und der Großbuchstabensequenz in Gruppe (2).
Lösung
Um dieses Problem zu lösen, können wir den folgenden regulären Ausdruck verwenden:
re.compile(r"^(.+)\n((?:\n.+)+)", re.MULTILINE)
Dieser reguläre Ausdruck arbeitet im mehrzeiligen Modus, was bedeutet, dass die ^- und $-Anker mit dem übereinstimmen Anfang und Ende der Zeilen.
Erklärung
n((?:n. ) ): Entspricht aufeinanderfolgenden Zeilen mit Großbuchstaben, die auf die Basiskomponente folgen.
Verwendung
Um diesen regulären Ausdruck zu verwenden, können Sie die folgenden Schritte ausführen:
import re text = """ some Varying TEXT ... [lines of uppercase text] ... """ regex = re.compile(r"^(.+)\n((?:\n.+)+)", re.MULTILINE) match = regex.search(text) if match: lowercase_text = match.group(1) uppercase_text = match.group(2) # Process the captured text as needed
Das obige ist der detaillierte Inhalt vonWie ordne ich mehrzeilige Textblöcke mit regulären Python-Ausdrücken zu: Klein- und Großbuchstaben erfassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!