Что не так в этом РегВыр'е ?

warobushek

Новичок
Что не так в этом РегВыр'е ?

Нужно выделить число, на которое заканчивается строка "ed2itsd45-ex-del123".

Пишу .*([0-9]+)$ , а http://www.pcre.ru/eval/ показывает, что захватывается только число 3.
Почему так? Ведь + - один или более символов
 

Активист

Активист
Команда форума
PHP:
preg_match("/([0-9]+)$/", "ed2itsd45-ex-del123", $match);
-~{}~ 13.08.10 12:18:

Хотя в этом случае, можно и без скобок.

.*

Сжирает предпоследние две цифры (жадный квантификатор).

-~{}~ 13.08.10 12:27:

warobushek
Есть какой-то модификатор, которую эту жадность отключает.
 

zerkms

TDD infected
Команда форума
Есть какой-то модификатор, которую эту жадность отключает.
жесть какая, неужели не помнишь? %)

U или .*?

саму регулярку я бы вообще так записал /\d+$/
 
Сверху