Как сопоставить числовое значение в regex?

Никак не могу сделать, чтоб минимальная цена была меньше 10, а максимальная не меньше 10
Обычные варианты перебирают только от 0 до 10, или по двум значениям от 0 до 10(или как угодно)


Ответы (1 шт):

Автор решения: Alex Rudenko

Для указанного формата строки (!MIN!MAX! или !MAX!MIN!) с разделителями ! получилось такое выражение:

.*(!\s*((\d\d(\.\d{1,2})?)\s*!\s*(\d(\.\d{1,2})?|\.\d{1,2})|(\d(\.\d{1,2})?|\.\d{1,2})\s*!\s*(\d\d(\.\d{1,2})?))\s*!).*

Здесь проверяются как целые числа, так и с дробной частью до двух знаков, максимальные числа определяются не больше 100.

→ Ссылка