Сами регулярные выражения не являются новинкой, превнесенной PHP. В том или ином виде они используются уже достаточно большой срок и являются очень мощным механизмом работы со строковыми данными.
Регулярное выражение представляет из себя некий шаблон, который используется для различных действий в зависимости от функции, использующей это регулярное выражение. Для задания шаблона используются специальные символы. Ниже представлена краткая таблица специальных символов и их значений.
| Символы | Значение | |
| Символы, указывающие расположение искомого элемента в строке. | ||
| ^ | Указывает на то, что символы после знака должны находиться в начале строки. | |
| $ | Символы до знака должны находиться в конце строки. | |
| Escape последовательности. | ||
| \. | Шаблону соответствует знак точки в строке. | |
| \n | Символ перевода строки. | |
| \r | Символ возврата каретки. | |
| \t | Символ табуляции. | |
| \v | Символ вертикальной табуляции. | |
| Задание группы символов. | ||
| [ ] | Задают группу символов. Соответствует любому символу из перечисленных в группе. Есть возможность задания диапазона символов с помощью знака - (минус, тире). | |
| ^ | В группе символов соответствует отрицанию последующих символов, то есть указывает символы, не соответствующие шаблону. | |
| . | Соответствует любому символу, кроме перевода строки. | |
| Количественные показатели | ||
| * | Символ перед знаком не присутствует либо повторяется любое число раз. | |
| ? | Символ перед знаком встречается ноль или один раз. | |
| + | Предыдующий символ повторяется один или большее число раз. | |
| Логическое определение. | ||
| | | Эффект подобен оператору || (OR) в логическом выражении. | |
| () | Логическая группировка выражений. |
Функции работы с регулярными выражениями:Необходимо сказать, что PHP располагает как собственным механизмом работы с регулярными выражениями (POSIX), так и заимствованным у другого серверного языка программирования Perl. Внешне их легко различить по названиям функций: функции первого типа начинаются с символов "ereg", а второго - "preg". Но названия функций не единственное их отличие. Прежде всего они содержат некоторые различия в синтаксисе регулярных выражений. Так, Perl-подобные функии требуют разделители:
$str = "регулярное выражение"; // просто строка
$preg = preg_replace("/р.+е/i", "<i>[вырезано]</i>", $str);
$ereg = eregi_replace("р.+е", "<i>[вырезано]</i>", $str);
echo $preg."<br>".$ereg;
| Функции | Синтаксис | Описание |
| ereg, eregi, preg_match | функция(pattern, string, [regs]) | Ищет в строке string соответствия с регулярным выражением pattern, и сохраняет их в массиве regs (если указано). |
| preg_match_all | preg_match_all(pattern, subject, matches, [order]) | Осуществляет глобальное сопоставление с шаблоном, результаты заносит в matches. |
| split, spliti, preg_split | функция(pattern, string, [limit]) | Разбивает строку в массив посредством регулярного выражения. |
| preg_grep | preg_grep(pattern, input) | Возвращает массив из элементов массива input, соответствующих шаблону pattern. |






