[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Регулярные выражения. Антиспам
wollk
Подскажите пожалуйста, как найти подряд идущие одинаковые символы.
Например: Урааааааа; Ааааа, приииивет



Спустя 27 минут, 26 секунд (26.08.2011 - 17:39) Игорь_Vasinsky написал(а):
:D а в "кооператив" - тоже урезать будешь?

что то вроде
/[a-Z](2,)/iu

Спустя 3 минуты, 18 секунд (26.08.2011 - 17:43) wollk написал(а):
Не.. просто в некоторых системах видел такую хрень. Которая автоматом отслеживает спам. Чёто ошибку выдаёт.

echo $prg_form=preg_match("/[a-Z](3,)/iu",$string_form);

Спустя 2 минуты, 8 секунд (26.08.2011 - 17:45) Игорь_Vasinsky написал(а):
так твой пример вернёт либо TRUE либо FALSE вообщем boolean

if(preg_match("/[a-Z](3,)/iu",$string_form))
echo "Найдены повторы символов";
else
echo "Всё тип-топ";

Спустя 16 минут, 37 секунд (26.08.2011 - 18:02) alex12060 написал(а):
Игорь_Vasinsky

А я думал, что надо так писать:


/[a-zа-яё]{3,}/iu

Спустя 5 минут, 45 секунд (26.08.2011 - 18:07) Игорь_Vasinsky написал(а):
alex12060
Цитата
/[a-zа-яё]{3,}/iu

совершенно верно. я в сокр варианте показал

Спустя 3 минуты, 50 секунд (26.08.2011 - 18:11) wollk написал(а):
СПС,работает

Может кому-то пригодится, вот сайт нашёл с примерами

http://php.spb.ru/php/regexp.html

Спустя 2 минуты, 14 секунд (26.08.2011 - 18:13) Игорь_Vasinsky написал(а):
Лучше учить и практиковаться.

Спустя 2 минуты, 28 секунд (26.08.2011 - 18:16) wollk написал(а):
Так вот же... ищу, учу, практикуюсь ))) ещё раз спасибо

Спустя 3 часа, 21 минута, 19 секунд (26.08.2011 - 21:37) inpost написал(а):
Игорь_Vasinsky alex12060
Подожди, твой пример АБВ - тоже вернёт TRUE. А по смыслу имелось совпадение трёх подряд одинаковых букв, а не букв в целом.

Спустя 13 минут, 33 секунды (26.08.2011 - 21:51) Игорь_Vasinsky написал(а):
:D да...

/(.)\\1{2}/iu

стырил... но не въехал

Спустя 19 минут, 16 секунд (26.08.2011 - 22:10) inpost написал(а):
Игорь_Vasinsky
() - копирование.
\\1 - вставка того, что в первых скобках. Итого копируется любой символ, а потом вставляется 2 раза подряд, итого получаем повторение 3-х символов одинаковых подряд.
Интересная реализация, я не знал, что можно копировать прям в регулярке! smile.gif

Спустя 12 минут, 13 секунд (26.08.2011 - 22:22) wollk написал(а):
Эм... люди, а можно теперь написать мне целое регулярное выражение ? ohmy.gif

Спустя 9 минут, 52 секунды (26.08.2011 - 22:32) Игорь_Vasinsky написал(а):
так вот те паттерн готовый, а какую функцию из регулярок ты предпочтёшь - те видней
/(.)\\1{2}/iu

Спустя 8 минут, 25 секунд (26.08.2011 - 22:40) wollk написал(а):
разобрался.. спс

if(preg_match("/([а-яa-zА-ЯA-Z])\\1{3}/iu",$string_form)){
echo "Более 3-х подряд идущих символов";}else{
echo "Yes";
}

Спустя 7 секунд (26.08.2011 - 22:41) Игорь_Vasinsky написал(а):
/([a--яё])\\1{2}/iu

чуток почитать лень?

Спустя 47 секунд (26.08.2011 - 22:41) Игорь_Vasinsky написал(а):
wollk
твой пример 4 символа подряд ищет и более... и "ё" - не увидит.

i - регистр не учитывается
u - работаем в юникоде

Спустя 10 минут, 26 секунд (26.08.2011 - 22:52) wollk написал(а):
Ок.. спс.. а про регулярные выражения учебнички заумные слишком....

Спустя 39 минут, 53 секунды (26.08.2011 - 23:32) twin написал(а):
Нужно Нового Года ждать... Придет Дед Мороз и расскажет.

Свернутый текст
Это погоняло у него тут такое - DedMorozzz, он влюблен в регулярки. Вот его (ну и не только) детище.

Спустя 1 минута, 13 секунд (26.08.2011 - 23:33) wollk написал(а):
)))

Спустя 1 час, 29 минут, 44 секунды (27.08.2011 - 01:03) Invis1ble написал(а):
inpost
Цитата
Интересная реализация, я не знал, что можно копировать прям в регулярке!

называется обратная ссылка
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.