Программирование > Регулярные выражения

Работа со строкой. Замена множества символов на один.

(1/2) > >>

hanapi:
Здравствуйте.

Возник вопрос по регулярным выражениям.
Имеется строка:
$str = "tttteeEeeeeeeeesssssssssssssstttttttttttt";
необходимо превратить эту строку в
$str = "tteesstt";
т.е. надо удалить все повторяющиеся более двух раз символы. Регулярные выражени не очень хорошо знаю, поэтому, собственно, и возник этот вопрос - какое выражения необходимо задать eregi_replace, для того чтобы получить необходимый результат?

Прошо особо не пинать, сам понимаю что вопрос детский, но, повторюсь, в регах я не силен.. Прочитал кучу доки, но так и не понял что именно нужно сделать...

Заранее благодарен.

Макс:

--- Код: ---echo  preg_replace("~((\\w)\\\\2+)~i", "\\\\2\\\\2", $str);
--- Конец кода ---

Green Kakadu:
$str=~s/(\\w)\\1{2,}/$1$1/gi;

commander:
RomikChef
http://forums.webscript.ru/showthread.php?s=&postid=114330#post114330

Макс:
preg_replace("~((\\w)\\\\2+)~i", "\\\\2\\\\2", $str);

(\\w) запоминает один символ в \\\\2 (двойка - потому что это вторая пара скобок). Тогда
(\\w)\\\\2 - это 2 одинаковых символа подряд (например "nn");
(\\w)\\\\2+ - это более двух одинаковых символов подряд

статьи по регекспам ищи через http://forums.webscript.ru/showthread.php?s=&threadid=15810&msgnum=5

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии