![]() |
|
Модераторы: ginnie |
![]()
|
|
| reekoff |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 23.12.2011 Репутация: нет Всего: нет |
Еще вопрос.
В книге "Программирование на Perl" (стр. 258) нашел такой пример:
но на практике регэксп выводит только: Пока найдено: a По идее, код должен вычисляться и печатать результат при каждом возврате, как и описано в книге. Но этого не происходит. Может быть когда писалось это (3-е) издание книги, то все работало как описано, а сейчас срабарывают какие-нибудь оптимизации и результат меняется? Удалось смоделировать поведение как в примере добавив в регэксп квантификатор (любой) после блока кода:
Но к пониманию это не привело. Буду признателен за помощь в решении данного вопроса. Спасибо. |
||||
|
|||||
| DurRandir |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 335 Регистрация: 27.9.2009 Репутация: 2 Всего: 17 |
Замените "bcdef" на [a-z]{5}. Оптимизатор поумнел, и сразу определяет, сколько символов с конца строки надо минимум оставить для успешного совпадения. Медитация над use re "debug" поможет понять разницу в поведении движка между этими вариантами)
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Регулярные выражения | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |