3 Stimmen

Verwendung des Wortendzeichens mit Unicode in regulären Ausdrücken in Python

Die folgenden Übereinstimmungen in Idle, aber stimmen nicht überein, wenn sie in einer Methode in einer Moduldatei ausgeführt werden:

import re
re.search('\\b\\b',' ',re.UNICODE)

während das folgende in beiden Fällen übereinstimmt:

import re
re.search('',' ',re.UNICODE)

(Beachten Sie, dass Stackoverflow fälschlicherweise die ersten und zweiten Elemente in der Zeile oben vertauscht, da dies eine von rechts nach links ausgeführte Sprache ist)

Wie kann ich den ersten Code in einer py-Datei übereinstimmen lassen?

Aktualisierung: Was ich für das erste Segment hätte schreiben sollen, ist, dass es in Idle übereinstimmt, aber nicht übereinstimmt, wenn es in der Eclipse-Konsole mit PyDev ausgeführt wird.

2voto

Kobi Punkte 129985

Scheint für mich zu funktionieren, wenn ich Unicode-Zeichenfolgen verwende:

# -*- coding: utf-8 -*-

import re
match = re.search(u'\\b\\b', u' ', re.U)

Sehen Sie es in Aktion: http://codepad.org/xWz5cZj5

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X