Python Regex Beispiele
Die Vollform von Regex ist regulärer Ausdruck. Es ist ein wichtiges Merkmal jeder Programmiersprache. Es handelt sich um ein Zeichenmuster, das verwendet wird, um die Zeichenfolgen in einem Stringwert zu vergleichen, zu suchen oder zu ersetzen. Das Regex-Muster kann im Python-Skript mit dem „re“-Modul von Python verwendet werden. Dieses Modul verfügt über viele Arten von Funktionen, um verschiedene String-Operationen durchzuführen. Verschiedene Metazeichen und spezielle Sequenzen werden verwendet, um die Regex-Muster zu definieren, um die Aufgaben zu suchen oder zu ersetzen. Die Zwecke der Verwendung einiger gängiger Metazeichen, spezieller Sequenzen und Regex-Methoden im Python-Skript werden in diesem Tutorial gezeigt.
Einige häufig verwendete Metazeichen in Regex:
| Charaktere | Zweck |
| '+' | Es wird verwendet, um ein oder mehrere Vorkommen eines bestimmten Zeichens in einer Zeichenkette zu finden. |
| '*' | Es wird verwendet, um null oder mehr Vorkommen eines bestimmten Zeichens in einer Zeichenkette zu finden. |
| ‘?’ | Es wird verwendet, um null oder eine Vorkommen eines bestimmten Zeichens in einer Zeichenkette zu erkennen. |
| ‘^’ | Es wird verwendet, um das bestimmte Zeichen oder die Zeichenfolge am Anfang der Zeichenfolge zu vergleichen. |
| ‘$’ | Es wird verwendet, um das bestimmte Zeichen oder die Zeichenfolge am Ende der Zeichenfolge zu vergleichen. |
| ‘|’ | Es wird verwendet, um eine der mehreren Zeichenfolgen in einer Zeichenfolge zuzuordnen. Es funktioniert wie die ODER-Logik. |
| ‘[]’ | Es wird verwendet, um eine Reihe von Zeichen zuzuordnen. |
| ‘{}’ | Es wird verwendet, um eine bestimmte Anzahl von Zeichen zuzuordnen. |
Einige häufig verwendete spezielle Sequenzen in Regex:
| Sequenzen | Zweck |
| ‘\A’ | Es wird verwendet, um das bestimmte Zeichen am Anfang der Zeichenkette abzugleichen. 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 das Gegenteil von "\b ". |
| '\d', '\D' | Das "\d " wird verwendet, um die Dezimalzahl in der Zeichenfolge abzugleichen, die "[0-9] " ähnelt. Das "\D " funktioniert das Gegenteil von "\d ". |
| ‘\s’, ‘\S’ | Das "\s " wird verwendet, um das Leerzeichen in der Zeichenfolge abzugleichen, das "[\n\t\v] " ähnelt. Das "\S" funktioniert das Gegenteil von "\s". |
| '\w', '\W' | Das "\w " wird verwendet, um die alphabetischen und numerischen Zeichen in der Zeichenfolge abzugleichen. Das "\W " funktioniert das Gegenteil von "\w ". |
| '\Z' | Es wird verwendet, um das bestimmte Zeichen am Ende des Strings zu vergleichen. Es funktioniert wie das „$“ Zeichen. |
Beispiel 1: Den String mit der Funktion Match() abgleichen
Die match() Funktion wird verwendet, um ein Regex-Muster am Anfang des Strings zuzuordnen. Die Syntax dieser Funktion ist wie folgt angegeben:
Syntax:
re.match(pattern, string, flags=0)
Hier wird das erste Argument verwendet, um das Regex-Muster zu definieren. Das zweite Argument wird verwendet, um den Hauptstring zu definieren. Das dritte Argument ist optional und wird verwendet, um verschiedene Arten von Flags zu definieren.
Erstellen Sie eine Python-Datei mit dem folgenden Skript, das ein reguläres Ausdrucksmuster mit einer definierten Zeichenfolge unter Verwendung der match()-Funktion vergleicht. Zuerst wird ein definiertes reguläres Ausdrucksmuster verwendet, um abzugleichen. Als Nächstes wird ein Suchwort vom Benutzer entnommen und als reguläres Ausdrucksmuster verwendet, um mit dem Zeichenwert abzugleichen. Wenn eine Übereinstimmung gefunden wird, wird das Suchwort ausgegeben. Andernfalls wird der Text „Kein übereinstimmender Wert gefunden“ ausgegeben.
#Import necessary module
import re
#Define the function to print the matching result
def matchString(): #Check the return value of the match() function
if mat != None: print ("'" + mat.group() + "' is found in '" + strValue + "'")
else: print ("No matching value found.")
#Define the string value
strValue = "First in first out."
#Match the string based on the pattern
mat = re.match('^First', strValue)
#Call function to print the match result
matchString ()
#Take the search string
inValue = input("Enter the search value: ")
mat = re.match(inValue + , strValue)
#Call function to print the match result
matchString ()Die folgende Ausgabe erscheint für den „ersten“ Eingabewert:
Beispiel 2: Finde die Zeichenkette mit der Funktion Findall()
Die findall() Funktion wird verwendet, um alle übereinstimmenden Wörter, die im Hauptstring gefunden werden, als Tuple zurückzugeben.
Syntax:
re.findall(pattern, string, flags=0)Hier wird das erste Argument verwendet, um das Regex-Muster zu definieren. Das zweite Argument wird verwendet, um den Hauptstring zu definieren. Das dritte Argument ist optional und wird verwendet, um verschiedene Arten von Flags zu definieren.
Erstellen Sie eine Python-Datei mit folgendem Skript, das einen Hauptzeichenfolgenwert und einen Suchzeichenfolgenwert vom Benutzer entgegennimmt. Verwenden Sie dann das Suchwort im Regex-Muster, um das Suchwort in der Hauptzeichenfolge zu finden. Die Anzahl der gesamten Übereinstimmungen wird in der Ausgabe angezeigt.
#Import necessary module
import re
#Take a string value
inValue = input("Enter a string: ")
#Take a search word
srcValue = input("Enter a search word: ")
#Search the word in the string
srcResult = re.findall(srcValue + "\w*", inValue)
#Print the search result
print ("The word '" + srcValue + "' is found in the string "
+ str(len(srcResult)) + " times.")Laut der Ausgabe wird das Suchwort „essen“ zweimal im Hauptstring „Wir essen, um zu leben, und leben nicht, um zu essen“ gefunden.
Beispiel 3: Durchsuchen Sie den String mit der Suchfunktion()
Die search() ist eine weitere Funktion, um ein bestimmtes Muster in einem Zeichenfolgenwert zu suchen. 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 eingegeben wird. Wenn das Suchwort im Eingabewert vorhanden ist, wird eine Erfolgsnachricht gedruckt. Andernfalls wird eine Fehlermeldung gedruckt.
#Import re module
import re
#Take a string value
inValue = input("Enter a string: ")
#Search the particular word in the string value
srcResult = re.search( r'Python\w*', inValue)
#Check the search word is found or not
if srcResult: print ("'" + srcResult.group() + "' is found in '" + inValue + "'")
else: print ("The search string is not found.")Ausgabe:
Die folgende Ausgabe erscheint, wenn der Eingabestring „Ich mag Python-Programmierung“ ist:
Die folgende Ausgabe erscheint, wenn der Eingabestring „Ich mag PHP-Programmierung“ ist:
Beispiel 4: Ersetzen Sie die Zeichenkette mit der Sub()-Funktion
Die sub() Funktion wird verwendet, um eine bestimmte Zeichenfolge basierend auf dem Muster zu suchen und sie durch ein anderes Wort zu ersetzen. Die Syntax dieser Funktion ist wie folgt:
Syntax:
re.sub(pattern, replace_string, main_string)Das erste Argument dieser Funktion enthält das Muster, das verwendet wird, um die bestimmte Zeichenfolge im Hauptstring zu suchen.
Das zweite Argument dieser Funktion enthält den „Ersetzen“ Stringwert.
Das dritte Argument dieser Funktion enthält die Hauptzeichenkette.
Diese Funktion gibt den ersetzten String zurück, wenn eines der übereinstimmenden Wörter im Hauptstring basierend auf dem ersten Argument vorhanden ist.
Erstelle eine Python-Datei mit dem folgenden Skript, das nach zwei Ziffern am Ende des Strings sucht. Wenn der String zwei Ziffern am Ende enthält, werden die Ziffern durch den String "“$50 ”" ersetzt.
#Import re module
import re
#Define the main string
strValue = "The book price is 70"
#Define the search pattern
pattern = '[0-9]{2}'
#Define the replace value
replaceValue = '$50'
#Search and replace the string based on the pattern
modified_strValue = re.sub(pattern, replaceValue, strValue)
#Print the original and modified string values
print ("Original string: " + strValue)
print ("Modified string: " + modified_strValue)Ausgabe:
Am Ende der Hauptzeichenfolge waren es 70. Daher wird die 70 in der ersetzten Zeichenfolge durch $50 ersetzt.
Beispiel 5: Ersetzen Sie den String mit der Subn()-Funktion
Die Funktion subn() funktioniert wie die Funktion sub(), mit dem Unterschied, dass sie die Ausgabe als Tuple zurückgibt, wobei der erste Index den ersetzten Wert und der zweite Index die Gesamtanzahl der Übereinstimmungen enthält.
Erstellen Sie eine Python-Datei mit dem folgenden Skript, das die Buchstaben A bis L im String „LinuxHint.com“ mit der Funktion subn() sucht:
#Import re module
import re
#Define the main string
strValue = "LinuxHint.com"
#Define the search pattern
pattern = '[A-L]'
#Define the replace value
replaceValue = '*'
#Search and replace the string based on the pattern
modified_strValue = re.subn(pattern, replaceValue, strValue)
#Print the original string and the output of the subn()
print ("Original string:\n" + strValue)
print ("Output of subn() function: ")
print (modified_strValue)Ausgabe:
Laut der folgenden Ausgabe werden die Zeichen „L“ und „H“ durch das Zeichen „*“ ersetzt.
Beispiel 6: Teilen Sie den String mit der Split()-Funktion auf.
Erstellen Sie eine Python-Datei mit dem folgenden Skript, das die split()-Funktion verwendet, um den Hauptstring basierend auf dem Regex-Muster in mehrere Teile zu unterteilen:
#Import re module
import re
#Define string value
strVal = "Rupa Akter;Nira Chowdhury;Mazharul Islam"
#Define the pattern that will be used to split the data
pattern = '[^A-Za-z ]'
#Store the split values in a list
split_result = re.split(pattern, strVal)
print ("Output of the split() function:")
print (split_result)Ausgabe:
Laut der Ausgabe wird der Hauptstring basierend auf dem Muster “[^A-Za-z ]” in drei Teile unterteilt, das im Skript verwendet wird.
Fazit
Der Zweck der am häufigsten verwendeten Metazeichen, Bereiche und eingebauten Funktionen von Python zum Suchen, Ersetzen und Aufteilen von Zeichenfolgen wird in diesem Tutorial anhand einfacher Python-Skripte erläutert.






