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


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Oleg Eterevsky                       2:5030/924     24 Jan 2002  18:17:40
 To : All
 Subject : Обработка рег. выражений в Perl
 -------------------------------------------------------------------------------- 
 
 
 Читаю я сейчас книгу Дж. Фридла "Регулярные выражения". Судя по ней, регулярные 
 выражения в Perl обрабатываются с помощью недетерменированного конечного
 автомата, что в свою очередь означает, что существуют сравнительно короткие (ну,
 порядка 10 символов при строке порядка 100 символов) регулярные выражения, на
 которых Perl будет "подвисать", точнее, работать очень долго. Я попробовал
 регулярное выражение, приведенное в книге, и Perl, вопреки тому, что написано в 
 книге обработал его мгновенно. Я попробовал несколькими способами усложнить
 тест, но регулярное выражение все равно обрабатывалось более-менее мгновенно. В 
 связи с этим, интересный вопрос: был ли заменен механизм обработки регулярных
 выражений со временеи написания книги (тогда последней версией Perl'а была
 5.003, я тестировал на 5.6.1)? В changelog'ах я ничего не нашел. Судя по
 исходникам regcomp.c и regexec.c, используется HКА. Если это действительно так, 
 то может ли кто-нибудь привести пример регулярного выражения, на котором Perl
 подвисает? Теоретически это должно быть возможно. Есть ли у кого-нибудь
 какая-нибудь свежая и объективная информация на эту тему?
 
                                         С уважением, Олег.
  .                Войны, конечно, нет и не предвидится.
  .                Hо так писать нельзя: король обидится.
 --- GoldED+/W32 1.1.5-20011130
  * Origin: Don't delay, write today! (2:5030/924)
 
 

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

 Тема:    Автор:    Дата:  
 Обработка рег. выражений в Perl   Oleg Eterevsky   24 Jan 2002 18:17:40 
 Re: Обработка рег. выражений в Perl   Andrey Sapozhnikov   25 Jan 2002 05:35:05 
Архивное /ru.cgi.perl/23013c501f85.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional