четверг, 14 февраля 2013 г.

Поддержка русских символов в QRegExp

В своё время мне "посчастливилось" столкнуться с проблемой поддержки русского текста регулярными выражения. Решением делюсь с вами.



Решение до банальности простое. Если у вас по умолчанию стоит UTF-8 кодировка файлов (а если не стоит то настоятельно рекомендую исправить это), то записи формата
QRegExp reg("[А-Я]{1}[А-Я,а-я]{25}"); - необходимо заменить на записи вида
QRegExp reg(QString::fromUtf8("[А-Я]{1}[А-Я,а-я]{25}"));  после чего регулярное выражение вполне хорошо будет работать.
Для редактора, настроенного по умолчанию, скорее всего подойдёт функция

QString::fromLocal8Bit().


Комментариев нет:

Отправить комментарий