Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Artem Chuprina                       2:5020/400     06 Sep 2004  10:01:11
 To : Serg Ivanov
 Subject : Re: Почему неправильно работает RE?
 -------------------------------------------------------------------------------- 
 
 Serg Ivanov -> All  @ Mon, 6 Sep 2004 04:25:18 +0000 (UTC):
 
  SI>  Этот вопрос я уже задавал (и не только здесь), но ответа никто не
  SI> дал.  Почему из-за 8-битного символа, стоящего после .+?
  SI> неправильно работает RE?  Дома в ActiveState Perl все работает
  SI> правильно, а на американском сервере неправильно (и не только у
  SI> меня). Интересно, как у кого на сервере это будет работать?
 
  SI> Вот пример:
  SI> $_='Результат поиска: найдено сайтов';
  SI> if (m!^Результат поиска.+?сайтов!m) - не находит.
  SI> А замена "с" на \xF1 не помогает:
  SI> if (m!^Результат поиска.+?\xF1айтов!m) - не находит.
  SI> Если разделить пробелом, то уже находит:
  SI> if (m!^Результат поиска.+? сайтов!m)
  SI> Вот еще работающий вариант разделителя (прямо анекдот):
  SI> if (m!^Результат поиска.+?\s{0}сайтов[^<]+<b>(\d+)</b>!m)
 
  SI>  Выставление локали на это не влияет.
 
 Может быть проблема из-за различия между однобайтовой и многобайтовой
 кодировками.  В какой кодировке интерпретирует скрипты и данные американский
 сервер?  Если он ожидает utf-8, а ты ему подсовываешь windows-1251, у
 него будут очевидные проблемы...
 
 -- 
 Artem Chuprina <ran@ran.pp.ru>
 FIDO: 2:5020/122.256
 --- ifmail v.2.15dev5.3
  * Origin: Leninsky 45 home network (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Почему неправильно работает RE?   Serg Ivanov   06 Sep 2004 08:25:18 
 Re: Почему неправильно работает RE?   Artem Chuprina   06 Sep 2004 10:01:11 
Архивное /ru.perl/121926f511e15.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional