|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Serg Ivanov 2:5020/400 06 Sep 2004 08:25:18 To : All Subject : Почему неправильно работает RE? --------------------------------------------------------------------------------
Hi All,
Этот вопрос я уже задавал (и не только здесь), но ответа никто не дал.
Почему из-за 8-битного символа, стоящего после .+? неправильно работает RE?
Дома в ActiveState Perl все работает правильно, а на американском сервере
неправильно (и не только у меня). Интересно, как у кого на сервере это будет
работать?
Вот пример:
$_='Результат поиска: найдено сайтов';
if (m!^Результат поиска.+?сайтов!m) - не находит.
А замена "с" на \xF1 не помогает:
if (m!^Результат поиска.+?\xF1айтов!m) - не находит.
Если разделить пробелом, то уже находит:
if (m!^Результат поиска.+? сайтов!m)
Вот еще работающий вариант разделителя (прямо анекдот):
if (m!^Результат поиска.+?\s{0}сайтов[^<]+<b>(\d+)</b>!m)
Выставление локали на это не влияет.
--- ifmail v.2.15dev5.3
* Origin: FidoNet Online - http://www.fido-online.com (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/16679cba7cdd1.html, оценка из 5, голосов 10
|