PCRE поддържа ли уникод низ правилно?

PCRE поддържа ли правилно уникод низ?


person user536232    schedule 30.04.2011    source източник
comment
Какво имате предвид под Unicode низ?   -  person Gumbo    schedule 30.04.2011


Отговори (3)


Да, така е (въпреки че вероятно все още не е Unicode 6). От страницата на ръководството:

Текущата реализация на PCRE съответства приблизително на Perl 5.12, включително порт за UTF-8 кодирани низове и Unicode общи свойства на категорията. Поддръжката на UTF-8 и Unicode обаче трябва да бъде изрично активирана; не е по подразбиране. Unicode таблиците съответстват на Unicode версия 5.2.0.

person BoltClock    schedule 30.04.2011

Поддържа напълно Unicode 5.1

person Nasser Hadjloo    schedule 01.05.2011

Ако вашият PCRE е компилиран без активиран UTF-8, можете да го включите, като добавите (*UTF8) в началото на вашия регулярен израз.

Например:

> echo ‒ | grep -Po '[‒]'

съвпада с всеки от 3-те utf-8 кода на символа поотделно (т.е.: 3 реда изход), докато това:

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

има очаквания резултат, създавайки един ред изход, съдържащ знака .

(Използвам стандартна инсталация на Ubuntu 12.04)

person drevicko    schedule 04.10.2012