Регулярні вирази (їх ще називають regexp, або regex) — це формальна мова, яку використовують програмісти у своїх програмах, для пошуку та здійснення маніпуляцій з підрядками в тексті.
Простими словами — це мова пошуку підрядка або підрядків у тексті.
Регулярні вирази ґрунтуються на використанні метасимволів.
Для пошуку використовується рядок-зразок, який визначає правило пошуку (його дуже часто називають «шаблоном» або «маскою»). Цей рядок складається з символів та метасимволів.
Для маніпуляцій з текстом (наприклад, для пошуку і заміни) додатково задається рядок заміни, який також може містити спеціальні символи.
Приклади регулярних виразів PHP
Видалити вміст тега <a>
$str = preg_replace('#(<a.*?>).*?(</a>)#', '$1$2', $str)
Видалити зображення <img>
$str = preg_replace('~(<a\b[^>]*>)?<img[^>]*>(</a>)?~i', '', $str);
Видалити посилання з певним класом <class>
$str = preg_replace('/<a.*class=("|\').*тут_пишем_класс("|\').*>.*<\/a>/Ui', '', $str);
Видалити тег <div> і його вміст
$str = preg_replace('/<div[^>]*?>[\s\S]*?<\/div>/i', '', $str);
Видалити всі пусті теги <p>
$str = preg_replace('/<p[^>]*>(\s{0,}(<[a-z]*[^>]*>){0,}\s{0,}){0,}<\\/p>/', '', $str);
Видалити <noindex> і <nofollow>
$str = preg_replace('<noindex>.*?<\/noindex>|<a[^>]+rel=\s*["'][^>]*nofollow["'][^>]*>.*?<\/a>', '', $str) 