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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Andrey Sapozhnikov                   2:5020/400     22 Feb 2002  07:26:04
 To : Victor Mironov
 Subject : Re: arrays
 -------------------------------------------------------------------------------- 
 
 
 "Victor Mironov" <Victor.Mironov@p11.f77.n5025.z2.fidonet.org> wrote in
 message news:1014324362@p11.f77.n5025.z2.ftn...
 
 > Hарод, как быстро проверить наличие хотя бы одного из выражений (например,
 
 составляющих массив) в некоем тексте? Делаю grep($text =~ /$_/i, @array), но
 уже на 30 тыс. таких проверок получаются тормоза.
 
 В общем виде - никак. Можно составить одно огромное регулярное выражение,
 типа:
 
 my $re = join('|', map { "(?:$_)" } @array;
 и затем:
 $text =~ /$re/io;
 
 но радикального увеличения скорости это не принесет. Если, скажем, искомые
 выражения
 есть слова, то можно хранить их в хэше и проверять все слова из текста:
 
 grep { $hash{$_}; } $text =~ /\b(\w+)\b/g;
 
 Андрей
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 arrays   Victor Mironov   21 Feb 2002 21:45:52 
 arrays   Oleg Eterevsky   22 Feb 2002 14:45:49 
 Re: arrays   Andrey Sapozhnikov   22 Feb 2002 07:26:04 
 Re: arrays   Igor Nikolaev   26 Feb 2002 08:19:46 
Архивное /ru.perl/65775c8f1da5.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional