5 Stimmen

Unterstützt PCRE Unicode-Strings korrekt?

Hat PCRE Unicode-Strings korrekt unterstützen?

8voto

BoltClock Punkte 660640

Ja, das ist der Fall (allerdings wahrscheinlich noch nicht in Unicode 6). Von der Manpage :

Die aktuelle Implementierung von PCRE entspricht in etwa Perl 5.12, einschließlich der Portierung für UTF-8 kodierte Strings und allgemeine Unicode-Kategorie-Eigenschaften. Die Unterstützung von UTF-8 und Unicode muss jedoch explizit aktiviert werden; sie ist nicht die Standardeinstellung. Die Unicode-Tabellen entsprechen der Unicode-Version 5.2.0.

0voto

Nasser Hadjloo Punkte 11706

Sie unterstützt vollständig Unicode 5.1

0voto

drevicko Punkte 13612

Wenn Ihr PCRE ohne die Aktivierung von UTF-8 kompiliert wurde, können Sie es einschalten, indem Sie (*UTF8) an den Anfang des regulären Ausdrucks.

Zum Beispiel:

> echo  | grep -Po '[]'

entspricht jedem der 3 utf-8-Codes des Zeichens einzeln (d.h. 3 Ausgabezeilen), während dies:

> echo  | grep -Po '(*UTF8)[]'

hat das erwartete Ergebnis: eine Ausgabezeile mit dem Zeichen .

(Ich verwende eine Standardinstallation von Ubuntu 12.04)

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