Регулярные выражения. Вопрос с самого начала

Asar

Новичок
Регулярные выражения. Вопрос с самого начала

Сам ничего в них не смыслю. Пытаюсь изучить по
http://detail.phpclub.ru/article/regexp_1
Откуда понимаю следующее:
[f] - символ f
[f][f] или [f]{2} - 2 символа f подряд ("ff")

Пробую:
echo preg_replace ("[f]", "111" , adff2prd);
Выводит ad1111112prd
Ок
echo preg_replace ("[f]{2}", "111" , adff2prd);
НеОк -
Warning: Unknown modifier '{' in ...

В чем здесь проблем?

-~{}~ 17.06.05 18:43:

При этом [ff] отрабатывает так, как я понимаю, должен срабатывать [f][f]...
 

StUV

Rotaredom
сначала прочитай полностью указанную статью
потом снова с вопросами...
 

lorien

Новичок
У тебя текст регеспа должен быть заключён в ограничители.
Например так preg_prelace("/[f]/"
Если в качестве первого ограничителя, ты выбираешь октрывающую скобку, то второй ограничитель должен быть закрывающей скобкой, например preg_replace("{[f]}"
Ну и если в самом регулярном выражении есть символы ограничителя, то их надо экранировать слешем.

Из твоих примеров видно, что ты вообще не подазреваешь об ограничителях :) Т.е. в первом пример у тебя квадрантные скобки выступают не как символьный класс, а как простые ограничители.

Купи книжку "Регулярные выражения" от О'Рейли и будет тебе счастье.
 
Сверху