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 скриптах.