yaleksandr89
@yaleksandr89
PHP developer

Как составить регулярку и получить результат в отдельные именованные подгруппы?

Здравствуйте.

Битый час маюсь, никак не могу сообразить. Есть строки вида: required|min:5|max:50000,max:50000|required|min:5 и т.д. (последовательность может меняться, так же как и количество значений).

Нужно из этих строк получать только min,max. Желательно их значения разбивать на именованные подгруппы, поясню:
строка required|min:5|max:50000, в результате хочу получить:
MIN => 5
MAX => 50000


Частично вроде бы получается (если отдельно находить мин и отдельно макс), вот регулярка для нахождения min, но вот как одним выражением находить и то и другое, чего-то не могу сообразить.
  • Вопрос задан
  • 43 просмотра
Решения вопроса 2
@dodo512
^(?=.*min:(?<min>\d+))(?=.*max:(?<max>\d+))
Ответ написан
yaleksandr89
@yaleksandr89 Автор вопроса
PHP developer
Не знаю насколько правильно и оптимально, но получилось так: (.*min:(?<MIN>\d*))(.*max:(?<MAX>\d*))
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы