Unterstützen reguläre Ausdrücke aus dem re-Modul Wortgrenzen (b)?
Beim Erkunden regulärer Ausdrücke wird häufig empfohlen, die zu verwenden b-Zeichenfolge zur Anpassung an Wortgrenzen. Bei der Anwendung dieser Technik in Python können jedoch unerwartete Ergebnisse auftreten.
Stellen Sie sich das folgende Szenario vor:
x = 'one two three' y = re.search("\btwo\b", x)
Es wird erwartet, dass y ein Übereinstimmungsobjekt ist, wenn das Muster mit irgendetwas übereinstimmt. Allerdings bleibt y None, was darauf hinweist, dass keine Übereinstimmung vorliegt.
Verstehen des Problems
Der Grund für dieses unerwartete Verhalten liegt in der Verwendung der Rohzeichenfolge. Durch die Verwendung von Rohzeichenfolgen (mit dem Präfix r) können Sonderzeichen wie Escape-Sequenzen und Backslashes wörtlich interpretiert werden. Ohne Rohzeichenfolgen interpretiert Python das als Escape-Zeichen, was die beabsichtigte Verwendung von b beeinträchtigt.
Um dieses Problem zu beheben, sollten Rohzeichenfolgen verwendet werden:
x = 'one two three' y = re.search(r"\btwo\b", x)
Mit dieser Änderung , y wird zu einem Übereinstimmungsobjekt, das die beabsichtigte Wortgrenzenübereinstimmung genau widerspiegelt.
Zusätzlich Tipps
Darüber hinaus können alternative Ansätze verwendet werden, um Wortgrenzen effektiv anzupassen:
Durch die Anwendung dieser Techniken können Sie den Wortgrenzenvergleich effektiv mit verwenden reguläre Ausdrücke in Python.
Das obige ist der detaillierte Inhalt vonBehandelt das Python-Modul „re' Wortgrenzen („\b') in regulären Ausdrücken ordnungsgemäß?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!