# Введение в регулярные выражения в PHP

Регулярные выражения - это такие команды для сложного поиска и замены. Они позволяют делать очень интересные вещи, но, к сожалению, довольно тяжелы в освоении.

Существует несколько функций PHP для работы с регулярными выражениями. Мы начнем знакомится с ними на примере `preg_replace`. Эта функция первым параметром принимает что менять, а вторым - на что менять, а третьим параметром - строку, в которой нужно заменять:

`<?php preg_replace(что менять, на что, строка); ?>`

При этом первым параметром наша функция принимает не просто строку, а регулярное выражение, представляющее собой строку с набором команд, расположенных внутри символов решетки `#`. Эти решетки называются ограничителями регулярных выражений.

После ограничителей можно писать модификаторы - команды, которые изменяют общие свойства регулярного выражения.

Сами регулярные выражения состоят из двух типов символов: из тех, которые обозначают сами себя и из символов-команд, которые называются специальные символы.

Буквы и цифры обозначают сами себя. В следующем примере мы с помощью регулярного выражения заменим букву `'a'` на `'!'`:

`<?php preg_replace('#a#', '!', 'bab'); // вернет 'b!b' ?>`

А вот точка является специальным символом и обозначает любой символ. В следующем примере мы найдем строку по такому шаблону: буква `'x'`, затем любой символ, затем опять буква `'x'`:

`<?php preg_replace('#x.x#', '!', 'xax eee'); // вернет '! eee' ?>`

Дана строка:

`<?php $str = 'ahb acb aeb aeeb adcb axeb'; ?>`

Напишите регулярку, которая найдет строки `'ahb'`, `'acb'`, `'aeb'` по шаблону: буква `'a'`, любой символ, буква `'b'`.

Дана строка:

`<?php $str = 'ahb acb aeb aeeb adcb axeb'; ?>`

Напишите регулярку, которая найдет строки `'abba'`, `'adca'`, `'abea'` по шаблону: буква `'a'`, два любых символа, буква `'b'`.

←→
↑