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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : vilfred                              2:5020/400     02 Dec 2002  16:19:29
 To : Kostya Altuhov
 Subject : Re: Проблемы с логикой регулярных выражений
 -------------------------------------------------------------------------------- 
 
 KA>  v> но вот почему не работает print "$1 $2 $3\n"
 KA> if
 KA>  v> $t=~m/(abra\d+).*?myexp/ для меня загадка...
 
 KA> Потому что регексы/строки обрабатываются слева
 KA> направо. Смотрим на строку, ищем
 KA> первое совпадение с (abra\d+). Hаходим abra1.
 KA> Обрабатываем .*?: начинаем с 0
 
 между .* и .*? большая разница, т.е. оно не обрабатывает  минимизацию 
 слева направо, т.е. не поджимает слева, а только ест справа... баг или 
 фича?
 
 KA> символов, сравнимаем остаток строки с myexp,
 KA> делаем бэктрекинг и увеличиваем
 KA> длину подстроки .*?, пока не будет совпадения.
 KA> Совпадение будет, когда .*?
 KA> станет матчить " jwfhui abra2 hiwf ". Hа этом
 KA> первом совпадении разбор строки
 KA> заканчивается.
 
 KA> Если в начало регекса добавить .*, все меняется.
 KA> Теперь .* съедает всю строку,
 
 ну это то понятно...
 
 KA> и происходит бэктрекинг, пока (abra\d+) не
 KA> заматчит (abra3). Далее происходит
 KA> попытка заматчить .*?myexp, это не получается,
 KA> поэтому делается повторный
 KA> бэктрекинг, пока (abra\d+) не заматчит (abra2).
 KA> Теперь .*?myexp матчится при
 KA> .*? => " hiwf ", и на этом первом совпадении
 KA> разбор строки заканчивается.
 
 KA> Kostya
 
 -- 
 TEAM [Маньяки]
 Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
 --- ifmail v.2.15dev5
  * Origin: Talk.ru (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 Проблемы с логикой регулярных выражений   Serg   18 Nov 2002 23:25:35 
 Проблемы с логикой регулярных выражений   Serg   18 Nov 2002 23:33:42 
 Re: Проблемы с логикой регулярных выражений   Vladimir Podgorny   19 Nov 2002 11:40:18 
 Re: Проблемы с логикой регулярных выражений   Artem Chuprina   19 Nov 2002 16:51:15 
 Re: Проблемы с логикой регулярных выражений   Serg   21 Nov 2002 20:41:07 
 Re: Проблемы с логикой регулярных выражений   Artem Chuprina   21 Nov 2002 20:50:20 
 Проблемы с логикой регулярных выражений   Andrew Sagulin   19 Nov 2002 11:41:26 
 Re: Проблемы с логикой регулярных выражений   Artem Chuprina   19 Nov 2002 16:33:46 
 Проблемы с логикой регулярных выражений   Oleg N. Kotenko   19 Nov 2002 18:20:50 
 Проблемы с логикой регулярных выражений   Alexey Sheynuk   20 Nov 2002 10:26:49 
 Re: Проблемы с логикой регулярных выражений   vilfred   24 Nov 2002 02:23:36 
 Проблемы с логикой регулярных выражений   Andrew Sagulin   24 Nov 2002 02:54:08 
 Re: Проблемы с логикой регулярных выражений   vilfred   25 Nov 2002 13:34:12 
 Проблемы с логикой регулярных выражений   Andrew Sagulin   25 Nov 2002 20:01:54 
 Re: Проблемы с логикой регулярных выражений   vilfred   29 Nov 2002 02:16:00 
 Re: Проблемы с логикой регулярных выражений   Eugene Bodin   29 Nov 2002 11:06:52 
 Проблемы с логикой регулярных выражений   Kostya Altuhov   29 Nov 2002 10:54:42 
 Re: Проблемы с логикой регулярных выражений   vilfred   02 Dec 2002 16:19:29 
 Проблемы с логикой регулярных выражений   Kostya Altuhov   05 Dec 2002 22:36:33 
Архивное /ru.perl/648837592c11.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional