Використання регулярних виразів

PHP:
Використання регулярних виразів

Як це використовувати:

PHP підтримує регулярні вирази за допомогою бібліотеки PCRE (Perl Compatible Regular Expressions), яка пропонує багатий набір функцій. Ось як їх використовувати:

Відповідність шаблону:

Щоб перевірити, чи існує шаблон у рядку, використовуйте preg_match(). Ця функція повертає 1, якщо шаблон був знайдений у рядку, та 0 в іншому випадку.

if (preg_match("/\bweb\b/i", "PHP is a web scripting language")) {
    echo "Знайдено відповідність.";
} else {
    echo "Відповідність не знайдена.";
}
// Вивід: Знайдено відповідність.

Пошук усіх відповідностей:

preg_match_all() використовується, коли потрібно знайти всі входження шаблону в рядку.

$text = "коти та собаки";
$pattern = "/\b([a-z]+)\b/i";
preg_match_all($pattern, $text, $matches);
print_r($matches[0]);
// Вивід: Array ( [0] => коти [1] => та [2] => собаки )

Заміна тексту:

Для заміни тексту, який відповідає регулярному виразу, використовується preg_replace(). Вона надзвичайно потужна для форматування та очищення даних.

$originalText = "15 квітня 2003";
$pattern = "/(\w+) (\d+), (\d+)/i";
$replacement = '${1}1,$3';
echo preg_replace($pattern, $replacement, $originalText);
// Вивід: 151,2003

Розділення рядків:

Ви можете розділити рядок на масив, використовуючи preg_split(), вказавши шаблон для розділювача.

$text = "PHP є, надзвичайно популярною, мовою сценаріїв";
$parts = preg_split("/,\s*/", $text);
print_r($parts);
// Вивід: Array ( [0] => PHP є [1] => надзвичайно популярною [2] => мовою сценаріїв )

Крім того, для складних регулярних виразів і завдань фреймворки та бібліотеки, такі як компонент Finder від Symfony чи колекція допоміжних функцій Laravel, можуть надати більш зручний рівень абстракції. Однак, розуміння та використання вбудованих функцій PCRE в PHP є важливим для ефективної обробки та валідації тексту безпосередньо у PHP скриптах.