Страницы

Поиск по вопросам

пятница, 29 марта 2019 г.

Диапазонное регулярное выражение

Что то голову сломал. Нужно вырезать все числа в диапазонах от 45...250 и 450...2500 из строки. Помогите с регулярным выражением. В строке помимо цифр еще может быть и текст.


Ответ

Ничего лишнего:
$string = '45 Нужно вырезать все числа от 45...250 и 450...2500 из строки, и оставить числа вида 2100100 45'; //Нужно вырезать все числа от ... и ... из строки, и оставить числа вида 2100100
echo preg_replace_callback('~(?<=\D|\b)\d{2,4}(?=\D|\b)~', function ($a) { $a = $a[0]; return ($a >= 45 && $a <= 250) || ($a >= 450 && $a <= 2500) ? false : $a; }, $string);

Комментариев нет:

Отправить комментарий