[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: regexp - чёт ни как не придумаю
Antoxych
Чёт ни как не придумаю как написать регесп

Задача:

Есть строка ,например, "Hello woooord!" или "Hello wwword!"

Нужно узнать есть ли в заданной строке повторение символа 3 раза или нет, символ который повторяется неизвестен

Может кто подскажет куда копать?




Спустя 6 минут, 28 секунд (9.07.2010 - 13:29) DedMorozzz написал(а):
От очень похожая задача была. http://phpforum.ru/index.php?showtopic=30166&st=15

Спустя 29 минут, 9 секунд (9.07.2010 - 13:58) Antoxych написал(а):
Если вы про это
$b='';
for($i=ord('a');$i<=ord('z');$i++){
$b .='('.chr($i).'(?!'.chr($i).'))?';
}
$a="yandex.com";
preg_match_all("#^($b)+\.[a-z]{2,6}(\.[a-z]{2,6})?$#",$a,$matches);
echo $matches[0][0];


Думаю можно так попробывать только уж очень огромный регесп получается, так не хочется делать)

Спустя 3 минуты, 34 секунды (9.07.2010 - 14:02) DedMorozzz написал(а):
Верно, про сие. Только надо добавить будет 3 символа. А чем он огромный?

Спустя 2 минуты, 10 секунд (9.07.2010 - 14:04) Antoxych написал(а):
переменная b получается не маленькой, хотелось бы по локаничней

Спустя 1 минута, 51 секунда (9.07.2010 - 14:06) DedMorozzz написал(а):
В любом случае, в рамках данной задачи прийдётся делать посимвольный анализ. Ну в общем дерзай делать иначе smile.gif Как сделаешь покажешь smile.gif

Спустя 30 секунд (9.07.2010 - 14:07) Ineed$ написал(а):
можно проще
$a = "wooorld";
echo preg_match_all('#(.)\1\1#', $a, $matches);

Спустя 11 минут, 36 секунд (9.07.2010 - 14:18) Antoxych написал(а):
Цитата (Ineed$ @ 9.07.2010 - 11:07)
можно проще
preg_match_all("#([\w])\1\1#",$a,$matches);

что то не выходит так

Спустя 7 минут, 3 секунды (9.07.2010 - 14:25) Ineed$ написал(а):
ошибся маленько. попробуй, переделал

Спустя 9 минут, 34 секунды (9.07.2010 - 14:35) Antoxych написал(а):
Да так работает, Спасибо

Спустя 1 минута, 4 секунды (9.07.2010 - 14:36) Ineed$ написал(а):
вообще для таких вещей(если неизвесно сколько повторений) лучше использовать лямбды нововведённые в пхп 5.3
Быстрый ответ:

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