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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Kostya Altuhov                       2:5030/181     29 Nov 2002  10:54:42
 To : vilfred
 Subject : Проблемы с логикой регулярных выражений
 -------------------------------------------------------------------------------- 
 
 
 29 Nov 02 01:16, to Andrew Sagulin wrote vilfred:
 
  AS>> 'fhjd abra1 jwfhui abra2 hiwf myexp jioer abra3'
  v> print "$1 $2 $3\n" if $t=~m/.*(abra\d+).*?myexp/
 
  v> но вот почему не работает print "$1 $2 $3\n" if
  v> $t=~m/(abra\d+).*?myexp/ для меня загадка...
 
 Потому что регексы/строки обрабатываются слева направо. Смотрим на строку, ищем 
 первое совпадение с (abra\d+). Hаходим abra1. Обрабатываем .*?: начинаем с 0
 символов, сравнимаем остаток строки с myexp, делаем бэктрекинг и увеличиваем
 длину подстроки .*?, пока не будет совпадения. Совпадение будет, когда .*?
 станет матчить " jwfhui abra2 hiwf ". Hа этом первом совпадении разбор строки
 заканчивается.
 
 Если в начало регекса добавить .*, все меняется. Теперь .* съедает всю строку, и
 происходит бэктрекинг, пока (abra\d+) не заматчит (abra3). Далее происходит
 попытка заматчить .*?myexp, это не получается, поэтому делается повторный
 бэктрекинг, пока (abra\d+) не заматчит (abra2). Теперь .*?myexp матчится при .*?
 => " hiwf ", и на этом первом совпадении разбор строки заканчивается.
 
 Kostya
 
 ---
  * Origin: Never forgive, never forget (2:5030/181)
 
 

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

 Тема:    Автор:    Дата:  
 Проблемы с логикой регулярных выражений   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/133803de73ca8.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional