![]() |
|
Модераторы: ginnie |
![]()
|
|
| mishelle |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 25.11.2010 Репутация: нет Всего: нет |
$_ = "Happy new 2004 year";
/^.*(\d+) year$/; $1=? почему $1=4, а не 2004? Понятно, что если шаблон будет с пробелом - /^.* (\d+) year$/; то будет 2004. |
|||
|
||||
| alezzz |
|
|||
![]() сплю... ![]() ![]() Профиль Группа: Участник Сообщений: 499 Регистрация: 17.8.2009 Репутация: 11 Всего: 14 |
И опять стоит внимательнее прочитать документацию. Если в двух словах то .* проходит по всем символам до конца строки, затем происходят откаты назад, нужно получить year, пробел и как минимум одну цифру, вот ровно на одну цифру и происходит откат.
А во втором выражении с пробелом нужно сделать откат еще и до пробела перед цифрами, поэтому цифры захватываются все. Это сообщение отредактировал(а) alezzz - 27.9.2011, 18:12 |
|||
|
||||
| mishelle |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 25.11.2010 Репутация: нет Всего: нет |
alezzz, ОГРОМНОЕ СПАСИБО!!!
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Регулярные выражения | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |