Модераторы: ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> еще раз поиск чисел 
V
    Опции темы
mishelle
Дата 27.9.2011, 17:30 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 25.11.2010

Репутация: нет
Всего: нет



$_ = "Happy new 2004 year";
/^.*(\d+) year$/;

 
$1=?

почему $1=4, а не 2004? Понятно, что если шаблон будет с пробелом -  /^.* (\d+) year$/;  то будет 2004.
PM MAIL   Вверх
alezzz
Дата 27.9.2011, 18:10 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


сплю...
**


Профиль
Группа: Участник
Сообщений: 499
Регистрация: 17.8.2009

Репутация: 11
Всего: 14



И опять стоит внимательнее прочитать документацию. Если в двух словах то .* проходит по всем символам до конца строки, затем происходят откаты назад, нужно получить year, пробел и как минимум одну цифру, вот ровно на одну цифру и происходит откат.

А во втором выражении с пробелом нужно сделать откат еще и до пробела перед цифрами, поэтому цифры захватываются все.

Это сообщение отредактировал(а) alezzz - 27.9.2011, 18:12
PM MAIL   Вверх
mishelle
Дата 27.9.2011, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 25.11.2010

Репутация: нет
Всего: нет



alezzz, ОГРОМНОЕ СПАСИБО!!!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Регулярные выражения | Следующая тема »


 




[ Время генерации скрипта: 0.0420 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.