Heim >Backend-Entwicklung >Python-Tutorial >Was ist der Hauptunterschied zwischen Pythons „re.match' und „re.search'?
Den Hauptunterschied zwischen re.match und re.match verstehen
Im re-Modul von Python sind dies die Funktionen match() und search() spielen unterschiedliche Rollen beim Mustervergleich. Der Hauptunterschied liegt in ihren Ankerpunkten.
re.match
Die Funktion match() überprüft, ob am Anfang der Eingabezeichenfolge ein Muster vorhanden ist. Der Rest der Zeichenfolge wird nicht berücksichtigt, wodurch sichergestellt wird, dass die Übereinstimmung ausschließlich am Anfang erfolgt. Das bedeutet, dass re.match kein Ergebnis zurückgibt, selbst wenn das Muster an anderer Stelle in der Zeichenfolge vorkommt.
re.search
Im Gegensatz dazu untersucht re.search Durchsuchen Sie die gesamte Eingabezeichenfolge und suchen Sie nach Vorkommen des Musters. Es gibt ein Übereinstimmungsobjekt zurück, wenn das Muster irgendwo in der Zeichenfolge gefunden wird. Diese Funktion ist weniger restriktiv als re.match, da sie nicht erfordert, dass das Muster die Zeichenfolge beginnt.
Wichtige Überlegungen
Berücksichtigen Sie bei der Auswahl der zu verwendenden Funktion Folgendes:
Beispiele aus der Praxis
Um den Unterschied zu veranschaulichen, betrachten wir Folgendes die folgende Zeichenfolge:
"This is a sentence with multiple words."
Die Verwendung von re.match mit dem Muster „This“ ist erfolgreich, während die Verwendung von re.search ebenfalls erfolgreich ist, da „This“ am Anfang der Zeichenfolge erscheint. Wenn wir jedoch nach dem Muster „with“ suchen, gibt nur re.search ein Ergebnis zurück, da „with“ die Zeichenfolge nicht beginnt.
Betrachten wir nun eine Zeichenfolge mit Zeilenumbrüchen:
"Line 1\nLine 2"
Die Verwendung von re.match("^Line 2", string, re.MULTILINE) schlägt fehl, da „^“ am Anfang der Zeichenfolge verankert ist und nach einer neuen Zeile nicht übereinstimmt. Allerdings ist re.search("^Line 2", string, re.MULTILINE) erfolgreich, da für re.search nicht dieselbe Positionsbeschränkung gilt.
Das obige ist der detaillierte Inhalt vonWas ist der Hauptunterschied zwischen Pythons „re.match' und „re.search'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!