Страница 1 из 1
perl regexp не более 2-х цифр ы строке текста
Добавлено: 2014-10-28 21:26:24
garrotte
Приветствую
Друзья, подскажите регулярку, которая-бы возвращала истину, если в строке кроме любого кол-ва букв, присутствовало-бы не более 2-х цифр, например:
a1a2a = true
a1a = true
aa = true
но
a1a2a3 = false
Заранее благодарю
Re: perl regexp не более 2-х цифр ы строке текста
Добавлено: 2014-11-19 20:55:56
zg
Привет)
Не знаю зачем, но можно так)
Код: Выделить всё
home% echo -n a1a2a3 | sed -E 's/[^0-9]//g' | wc -m
3
Re: perl regexp не более 2-х цифр ы строке текста
Добавлено: 2014-11-19 21:10:23
garrotte
Спасибо, но не то )
регулярка была нужна именно перловая, поскольку они в nginx используются
Не знаю зачем
была ддос атака с характерными реферрерами типа:
kh5sd356kjru
yl36lhjlh45lh.com
ну и т.д.
я их этой регуляркой и отлавливал в отдельный лог а потом внешним скриптом в ipset укладывал
кусок конфига с регкляркой выглядит так:
Код: Выделить всё
valid_referers none blocked server_names ~^\D*\d?\D*\d?\D*/.*$;
if ($invalid_referer) {
return 418;
error_page 418 = @invalid_referer;
}
Re: perl regexp не более 2-х цифр ы строке текста
Добавлено: 2014-11-19 21:20:07
zg
garrotte, аааа
я сначала так хотел написать, но решил более общее решение показать. Форум программерский, думал надо в скрипте использовать.