Beispiele für Python-Regex

Beispiele Fur Python Regex



Die vollständige Form von Regex ist regulärer Ausdruck. Es ist ein wichtiges Merkmal jeder Programmiersprache. Es handelt sich um ein Zeichenfolgenmuster, das zum Abgleichen, Suchen oder Ersetzen der Zeichenfolgen in einem Zeichenfolgenwert verwendet wird. Das Regex-Muster kann im Python-Skript mithilfe des „re“-Moduls von Python verwendet werden. Dieses Modul verfügt über viele Arten von Funktionen zur Durchführung verschiedener String-Operationen. Zur Definition der Regex-Muster zum Suchen oder Ersetzen der Aufgaben werden verschiedene Metazeichen und spezielle Sequenzen verwendet. In diesem Tutorial werden die Zwecke der Verwendung einiger häufig verwendeter Metazeichen, spezieller Sequenzen und Regex-Methoden im Python-Skript gezeigt.

Einige häufig verwendete Metazeichen in Regex:









Figuren Zweck
'+' Es wird verwendet, um ein oder mehrere Vorkommen eines bestimmten Zeichens in einer Zeichenfolge abzugleichen.
'*' Es wird verwendet, um null oder mehr Vorkommen eines bestimmten Zeichens in einer Zeichenfolge zu finden.
'?' Es wird verwendet, um null oder ein Vorkommen eines bestimmten Zeichens in einer Zeichenfolge zu finden.
'^' Es wird verwendet, um das bestimmte Zeichen oder die bestimmte Zeichenfolge am Anfang der Zeichenfolge abzugleichen.
'$' Es wird verwendet, um das bestimmte Zeichen oder die bestimmte Zeichenfolge am Ende der Zeichenfolge abzugleichen.
'|' Es wird verwendet, um eine beliebige der mehreren Zeichenfolgen in einer Zeichenfolge abzugleichen. Es funktioniert wie die ODER-Logik.
„[]“ Es wird verwendet, um eine Reihe von Zeichen abzugleichen.
'{}' Es wird verwendet, um eine bestimmte Anzahl von Zeichen zuzuordnen.



Einige häufig verwendete Sondersequenzen in Regex:





Sequenzen Zweck
'\A' Es wird verwendet, um das bestimmte Zeichen am Anfang der Zeichenfolge zu finden. Es funktioniert wie das Zeichen „^“.
„\b“, „\B“ Das „\b“ wird verwendet, um die Zeichenfolge abzugleichen, die das bestimmte Zeichen oder Wort am Anfang oder Ende der Zeichenfolge enthält. Das „\B“ funktioniert entgegengesetzt zu „\b“.
„\d“, „\D“ „\d“ wird verwendet, um die Dezimalzahl in der Zeichenfolge abzugleichen, die „[0-9]“ ähnelt. Das „\D“ funktioniert entgegengesetzt zu „\d“.
„\s“, „\S“ Das „\s“ wird verwendet, um das Leerzeichen in der Zeichenfolge abzugleichen, das „[\n\t\r\v]“ ähnelt. Das „\S“ funktioniert entgegengesetzt zu „\s“.
„\w“, „\W“ Das „\w“ wird verwendet, um die alphabetischen und numerischen Zeichen in der Zeichenfolge abzugleichen. Das „\W“ funktioniert entgegengesetzt zu „\w“.
'\MIT' Es wird verwendet, um das bestimmte Zeichen am Ende der Zeichenfolge zu finden. Es funktioniert wie das „$“-Zeichen.

Beispiel 1: Vergleichen Sie die Zeichenfolge mit der Funktion Match()

Die Funktion match() wird verwendet, um ein Regex-Muster am Anfang der Zeichenfolge abzugleichen. Die Syntax dieser Funktion lautet wie folgt:



Syntax:

erneutes Spiel ( Muster, Schnur, Flaggen = 0 )

Hier wird das erste Argument verwendet, um das Regex-Muster zu definieren. Das zweite Argument wird verwendet, um die Hauptzeichenfolge zu definieren. Das dritte Argument ist optional und wird zur Definition verschiedener Flag-Typen verwendet.

Erstellen Sie mit dem folgenden Skript eine Python-Datei, die mithilfe der Funktion match() ein Regex-Muster mit einer definierten Zeichenfolge abgleicht. Zunächst wird ein definiertes Regex-Muster zum Abgleichen verwendet. Als Nächstes wird vom Benutzer ein Suchwort übernommen und als Regex-Muster zum Abgleich mit dem Zeichenfolgenwert verwendet. Wenn eine Übereinstimmung gefunden wird, wird das Suchwort gedruckt. Andernfalls wird die Zeichenfolge „Kein passender Wert gefunden“ gedruckt.

#Notwendiges Modul importieren
Import bzgl

#Definieren Sie die Funktion zum Drucken des passenden Ergebnisses
def matchString ( ) :
#Überprüfen Sie den Rückgabewert der Funktion match()
Wenn zusammen mit ! = Keine:
drucken ( ''' + Mattengruppe ( ) + „' findet sich in '“ + strValue + ''' )
anders:
drucken ( „Kein passender Wert gefunden.“ )

#Definieren Sie den String-Wert
strValue = 'Als Erster rein, als erster raus.'
#Passen Sie die Zeichenfolge anhand des Musters an
mat = re.match ( '^Zuerst' , strValue )
#Funktion aufrufen, um das Match-Ergebnis zu drucken
matchString ( )

#Nehmen Sie die Suchzeichenfolge
inValue = Eingabe ( „Geben Sie den Suchwert ein:“ )
mat = re.match ( inValue + , strValue )
#Funktion aufrufen, um das Match-Ergebnis zu drucken
matchString ( )

Für den „ersten“ Eingabewert erscheint folgende Ausgabe:

Beispiel 2: Suchen Sie die Zeichenfolge mit der Funktion Findall()

Die Funktion findall() wird verwendet, um alle passenden Wörter, die in der Hauptzeichenfolge gefunden werden, als Tupel zurückzugeben.

Syntax:

re.findall ( Muster, Schnur, Flaggen = 0 )

Hier wird das erste Argument verwendet, um das Regex-Muster zu definieren. Das zweite Argument wird verwendet, um die Hauptzeichenfolge zu definieren. Das dritte Argument ist optional und wird zur Definition verschiedener Flag-Typen verwendet.

Erstellen Sie eine Python-Datei mit dem folgenden Skript, das einen Hauptzeichenfolgenwert und einen Suchzeichenfolgenwert vom Benutzer übernimmt. Verwenden Sie als Nächstes das Suchwort im Regex-Muster, um das Suchwort in der Hauptzeichenfolge zu finden. Die Anzahl der Gesamtübereinstimmungen wird in der Ausgabe gedruckt.

#Notwendiges Modul importieren
Import bzgl

#Nimm einen String-Wert
inValue = Eingabe ( „Geben Sie eine Zeichenfolge ein:“ )

#Nehmen Sie ein Suchwort
srcValue = Eingabe ( „Geben Sie ein Suchwort ein:“ )

#Suchen Sie das Wort in der Zeichenfolge
srcResult = re.findall ( srcValue + '\In*' , inValue )
#Suchergebnis drucken
drucken ( 'Das Wort '' + srcValue + „' wird in der Zeichenfolge gefunden „
+ str ( nur ( srcResult ) ) + „Zeiten.“ )

Laut der Ausgabe wird das Suchwort „eat“ zweimal in der Hauptzeichenfolge „Wir essen um zu leben und nicht leben um zu essen“ gefunden.

Beispiel 3: Suchen Sie die Zeichenfolge mit der Funktion Search()

Die search() ist eine weitere Funktion zum Suchen eines bestimmten Musters in einem Zeichenfolgenwert. Sie enthält die gleichen Argumente wie die Funktionen match() und findall(). Erstellen Sie eine Python-Datei mit dem folgenden Skript, das das Wort „Python“ in einem Zeichenfolgenwert sucht, der vom Benutzer übernommen wird. Wenn das Suchwort im Eingabewert vorhanden ist, wird eine Erfolgsmeldung gedruckt. Andernfalls wird eine Fehlermeldung gedruckt.

#Re-Modul importieren
Import bzgl

#Nimm einen String-Wert
inValue = Eingabe ( „Geben Sie eine Zeichenfolge ein:“ )
#Suchen Sie das bestimmte Wort im Zeichenfolgenwert
srcResult = re.search ( R 'Python\w*' , inValue )

#Überprüfen Sie, ob das Suchwort gefunden wurde oder nicht
Wenn srcResult:
drucken ( ''' + srcResult.group ( ) + „' findet sich in '“ + inValue + ''' )
anders:
drucken ( „Die Suchzeichenfolge wurde nicht gefunden.“ )

Ausgabe:

Die folgende Ausgabe erscheint, wenn die Eingabezeichenfolge „Ich mag Python-Programmierung“ lautet:

Die folgende Ausgabe erscheint, wenn die Eingabezeichenfolge „Ich mag PHP-Programmierung“ lautet:

Beispiel 4: Ersetzen Sie die Zeichenfolge mit der Funktion Sub()

Die Funktion sub() wird verwendet, um eine bestimmte Zeichenfolge anhand des Musters zu suchen und durch ein anderes Wort zu ersetzen. Die Syntax dieser Funktion lautet wie folgt:

Syntax:

re.sub ( Muster, Ersetzungszeichenfolge, Hauptzeichenfolge )

Das erste Argument dieser Funktion enthält das Muster, das zum Suchen der bestimmten Zeichenfolge in der Hauptzeichenfolge verwendet wird.

Das zweite Argument dieser Funktion enthält den String-Wert „replace“.

Das dritte Argument dieser Funktion enthält die Hauptzeichenfolge.

Diese Funktion gibt die ersetzte Zeichenfolge zurück, wenn basierend auf dem ersten Argument ein passendes Wort in der Hauptzeichenfolge vorhanden ist.

Erstellen Sie eine Python-Datei mit dem folgenden Skript, das nach zwei Ziffern am Ende der Zeichenfolge sucht. Wenn die Zeichenfolge am Ende zwei Ziffern enthält, werden die Ziffern durch die Zeichenfolge „$50“ ersetzt.

#Re-Modul importieren
Import bzgl

#Definieren Sie die Hauptzeichenfolge
strValue = „Der Buchpreis beträgt 70“

#Definieren Sie das Suchmuster
Muster = '[0-9]{2}'

#Definieren Sie den Ersetzungswert
replaceValue = „50 $“

#Suchen und ersetzen Sie die Zeichenfolge basierend auf dem Muster
Modified_strValue = re.sub ( Muster, replaceValue, strValue )
#Drucken Sie die ursprünglichen und geänderten Zeichenfolgenwerte
drucken ( „Originalzeichenfolge:“ + strValue )
drucken ( „Geänderte Zeichenfolge:“ + Modified_strValue )

Ausgabe:

Am Ende der Hauptsaite waren es 70. Daher wird in der ersetzten Zeichenfolge die Zahl 70 durch $50 ersetzt.

Beispiel 5: Ersetzen Sie die Zeichenfolge mit der Funktion Subn()

Die Funktion subn() funktioniert wie die Funktion sub(), außer dass sie die Ausgabe als Tupel zurückgibt, wobei der erste Index den ersetzten Wert und der zweite Index die Gesamtzahl der Übereinstimmungen enthält.

Erstellen Sie eine Python-Datei mit dem folgenden Skript, das mit der Funktion subn() nach den Alphabeten A bis L im String „LinuxHint.com“ sucht:

#Re-Modul importieren
Import bzgl

#Definieren Sie die Hauptzeichenfolge
strValue = „LinuxHint.com“

#Definieren Sie das Suchmuster
Muster = '[ZUM]'

#Definieren Sie den Ersetzungswert
replaceValue = '*'

#Suchen und ersetzen Sie die Zeichenfolge basierend auf dem Muster
Modified_strValue = re.subn ( Muster, replaceValue, strValue )
#Drucken Sie die Originalzeichenfolge und die Ausgabe von subn()
drucken ( „Originalzeichenfolge: \N ' + strValue )
drucken ( „Ausgabe der Funktion subn():“ )
drucken ( Modified_strValue )

Ausgabe:

Gemäß der folgenden Ausgabe werden die Zeichen „L“ und „H“ durch das Zeichen „*“ ersetzt.

Beispiel 6: Teilen Sie den String mit der Split()-Funktion

Erstellen Sie eine Python-Datei mit dem folgenden Skript, das die Funktion „split()“ verwendet, um die Hauptzeichenfolge basierend auf dem Regex-Muster in mehrere Teile zu unterteilen:

#Re-Modul importieren
Import bzgl

#Stringwert definieren
strVal= „Rupa Akter;Nira Chowdhury;Mazharul Islam“
#Definieren Sie das Muster, das zum Aufteilen der Daten verwendet wird
Muster = '[^A-Za-z ]'
#Speichern Sie die Split-Werte in einer Liste
split_result = re.split ( Muster, strVal )
drucken ( „Ausgabe der Funktion split():“ )
drucken ( split_result )

Ausgabe:

Der Ausgabe zufolge ist die Hauptzeichenfolge basierend auf dem im Skript verwendeten Muster „[^A-Za-z ]“ in drei Teile unterteilt.

Abschluss

Der Zweck der am häufigsten verwendeten Metazeichen, Bereiche und integrierten Python-Funktionen zum Suchen, Ersetzen und Teilen der Zeichenfolgen wird in diesem Tutorial anhand einfacher Python-Skripte gezeigt.