Heim > Backend-Entwicklung > Python-Tutorial > Behandelt das Python-Modul „re' Wortgrenzen („\b') in regulären Ausdrücken korrekt?

Behandelt das Python-Modul „re' Wortgrenzen („\b') in regulären Ausdrücken korrekt?

Susan Sarandon
Freigeben: 2024-12-02 17:06:11
Original
1023 Leute haben es durchsucht

Does Python's `re` Module Correctly Handle Word Boundaries (`b`) in Regular Expressions?

Unterstützen reguläre Ausdrücke aus dem re-Modul Wortgrenzen (b)?

Beim Versuch, die b-Escape-Sequenz zu verwenden, um Wortgrenzen abzugleichen Im re-Modul von Python kann es zu Inkonsistenzen kommen. Das folgende Code-Snippet veranschaulicht dies:

>>> x = 'one two three'
>>> y = re.search("\btwo\b", x)
Nach dem Login kopieren

Überraschenderweise fehlt das erwartete Übereinstimmungsobjekt und gibt stattdessen „None“ zurück. Dies wirft die Frage auf, ob Python den b-Ausdruck unterstützt oder ob seine Verwendung falsch ist.

Die Diskrepanz ergibt sich aus der Verwendung regulärer Zeichenfolgen im Code. Stattdessen sollten Rohzeichenfolgen verwendet werden, wie unten gezeigt:

>>> x = 'one two three'
>>> y = re.search(r"\btwo\b", x)
Nach dem Login kopieren

Diese Änderung behebt das Problem und liefert wie beabsichtigt ein Übereinstimmungsobjekt.

Darüber hinaus sollten Sie die Verwendung des folgenden Ansatzes in Betracht ziehen:

word = 'two'
re.compile(r'\b%s\b' % word, re.I)
Nach dem Login kopieren

Dadurch wird sichergestellt, dass beim Abgleich die Groß-/Kleinschreibung nicht beachtet wird, wodurch möglicherweise der Umfang erfolgreicher Übereinstimmungen erweitert wird.

Das obige ist der detaillierte Inhalt vonBehandelt das Python-Modul „re' Wortgrenzen („\b') in regulären Ausdrücken korrekt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage