|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Serg Ivanov 2:5020/400 24 Dec 2004 18:09:24 To : All Subject : RE и 8-битные символы --------------------------------------------------------------------------------
Привет!
Я уже задавал подобный вопрос, но ответа не нашел.
Вот эти примеры для юниксового Перла (в ActiveState
Perl все нахдится, причем локаль не выставляется).
Кодировка Windows-1251.
$_='Результат поиска: найдено сайтов';
/^Результат поиска.+?сайтов/m - не находит.
Замена с на \xF1 не помогает:
/^Результат поиска.+?\xF1айтов/m - не находит.
Hе говорит ли предыдущий пример, что дело здесь не в локали?
Если разделить пробелом, то уже находит:
/^Результат поиска.+? сайтов/m
Вот еще работающий вариант разделителя:
/^Результат поиска.+?\s{0}сайтов/
Вопрос: как сделать, чтобы юниксовый Перл понимал символы внутри
RE как однобайтовые? Это можно сделать, лишь установив локаль, или
еще как-то? Локаль выставена:
use POSIX qw(locale_h);
use locale;
setlocale(LC_CTYPE, "ru_RU.cp1251");
Функции uс, lc работают со всеми русскими буквами правильно.
--- ifmail v.2.15dev5.3
* Origin: FidoNet Online - http://www.fido-online.com (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/166791aee89df.html, оценка из 5, голосов 10
|