Программирование > Регулярные выражения
Работа со строкой. Замена множества символов на один.
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
Навигация
Перейти к полной версии