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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Ivan Frolcov                         2:5020/400     08 Aug 2000  11:28:40
 To : All
 Subject : Re: regexp?
 -------------------------------------------------------------------------------- 
 
 > Столкнулся тут с непоняткой одной. Ежели кто растолкует, буду очень
 > рад.
 
 Просто завидно - сколько же тебя ждет радостей в жизни! :-)
 
 > Итак.
 >
 > casus:casus$ cat a
 > F11=
 > F12
 > F1
 > F13
 >
 > casus:casus$ perl -nle 'print if /F\d{1,2}[^=]/' a
 > F11=
 > F12
 > F13
 >
 > Вроде как квантификатор {1,2} должен работать по принципу максимальной
 > жадности и съедать все цифирьки (можно поставить ``+'', ничего не
 > изменится), далее проверяем на наличие отсутствия сивола ``=''. Чего ради
 > всплывает строчка ``F11=''? Hе понятно. Куда делась ``F1''?
 
 А ты прочитай, что написал:
 F, за которым следует одна или две цифры, после которой следует символ,
 отличный
 от =. F11= вполне под это походит - F, за ним цифра, за ней еще одна цифра,
 а не =. Backtracking, короче. Попробуй для развлечения
 
 /F(?>\d{1,2})[^=]/
 
 Куда делась F1? А ведь за 1 не следует символ,
 отличный от =, правда? Попробуй поставь в конце строки пробел и лицезрей.
 Или
 /F\d{1,2}([^=]|$)
 
 > продолжим:
 > casus:casus$ perl -nle 'print if /F\d{1,2}(?!=)/' a
 > F11=
 > F12
 > F1
 > F13
 >
 > Hифига не понимаю.
 
 То же самое. Greedy не только легко ускакивают вперед, насколько можно,
 но и не менее легко откатываются обратно.
 --- ifmail v.2.15dev5
  * Origin: Moscow State University (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 regexp?   Anton Petrusevich   08 Aug 2000 11:31:52 
 Re: regexp?   Ivan Frolcov   08 Aug 2000 11:28:40 
 Re: regexp?   Dmitriy Goldobin   08 Aug 2000 22:23:56 
 Re: regexp?   Artem Chuprina   14 Aug 2000 12:52:03 
Архивное /ru.perl/54867c6b91fa.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional