Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Perl: Общие вопросы > Коварный русский |
Автор: migaro 19.12.2012, 16:11 | ||||
В общем я у меня есть куча html'ок.. В каждой есть строка "хлебных крошек".. В конце строки есть текст на русском.. Мне надо регуляркой находить русский текст в конце и сохранять в переменную.. вроде все просто.. Но я заметил такой ньюанс, что текст не находиться.. Я написал такой проверочный скрипт и начал капать..
Строка в которой должно находиться совпадение:
HTML - коряв и негоден, это понятно, но не в этом сейчас дело. Дело в том, файлы мне прислали и они вроде как в cp1251. Локаль у меня ru_RU.UTF-8, но и ru_RU.CP1251 тоже установлена и скрипт должен исполняться под ней (setlocale(LC_ALL, "ru_RU.CP1251");).. Но почему-то не хочет.. Может кто сталкивался с работой регулярок под русский ср1251?.. |
Автор: arto 19.12.2012, 17:50 |
# cat a.txt | perl -0777 -lne 'BEGIN{ use encoding "cp1251", STDOUT => "utf8" } print join "\n", m#(\p{Cyrillic}+)#gsm;' Главная Банковское дело Банковские операции Васюренко # Добавлено через 2 минуты и 56 секунд а если выход тоже в cp1251, то # cat a.txt | perl -Mencoding=cp1251 -0777 -lne 'print join "\n", m#(\p{Cyrillic}+)#gsm;' Главная Банковское дело Банковские операции Васюренко # |