powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Perl, локаль и RE
2 сообщений из 2, страница 1 из 1
Perl, локаль и RE
    #32620309
sergivanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет!

Почему из-за русской буквы, стоящей после .+? неправильно работает RE?
Дома в ActiveState Perl все работает правильно, а на американском сервере
неправильно.

Вот пример:
$_='Результат поиска: найдено сайтов';
if (m!^Результат поиска.+?сайтов!m) - не находит.
А замена с на \xF1 не помогает:
if (m!^Результат поиска.+?\xF1айтов!m) - не находит.
Если разделить пробелом, то уже находит:
if (m!^Результат поиска.+? сайтов!m)
Вот еще работающий вариант разделителя (прямо анекдот):
if (m!^Результат поиска.+?\s{0}сайтов[^<]+<b>(\d+)</b>!m)

Локаль выставляю так:

use POSIX qw(locale_h);
use locale;
setlocale(LC_CTYPE, "ru_RU.cp1251");

И она работает (проверял в RE, uc и lc).
Почему 8-мибитный символ влияет на результат? В других местах RE русские буквы
не мешают работе даже без установки локали.
...
Рейтинг: 0 / 0
Perl, локаль и RE
    #32620726
g613
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergivanovПривет!

Почему из-за русской буквы, стоящей после .+? неправильно работает RE?
Дома в ActiveState Perl все работает правильно, а на американском сервере
неправильно.

Локаль выставляю так:

use POSIX qw(locale_h);
use locale;
setlocale(LC_CTYPE, "ru_RU.cp1251");

И она работает (проверял в RE, uc и lc).
Почему 8-мибитный символ влияет на результат? В других местах RE русские буквы
не мешают работе даже без установки локали.

а она действительно есть там такая ?
результат который козвращает setlocale не пробовал проверять ?
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Perl, локаль и RE
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]