Если ваш PCRE был скомпилирован без включенного UTF-8, вы можете включить его, добавив (*UTF8)
в начало вашего регулярного выражения.
Например:
> echo ‒ | grep -Po '[‒]'
соответствует каждому из 3 кодов utf-8 символа ‒
по отдельности (то есть: 3 строки вывода), тогда как это:
> echo ‒ | grep -Po '(*UTF8)[‒]'
имеет ожидаемый результат, производя одну строку вывода, содержащую символ ‒
.
(я использую стандартную установку Ubuntu 12.04)