PHP: Функция preg_match()

Функция preg_match() в PHP — это мощный инструмент для поиска и сопоставления строк с регулярными выражениями. Она позволяет осуществлять сложные операции по проверке и извлечению данных из строк, что делает её незаменимой при обработке текстовой информации.

Что делает функция preg_match()?


Функция preg_match() выполняет поиск регулярного выражения в строке и возвращает количество совпадающих результатов. Если найдено хотя бы одно совпадение, возвращается 1, если совпадений нет — 0, а в случае ошибки — false.

Синтаксис функции:
preg_match(pattern, subject, matches, flags, offset)

  • pattern: регулярное выражение, которое нужно искать.
  • subject: строка, в которой ведется поиск.
  • matches (необязательный): массив, в который сохраняются найденные совпадения.
  • flags (необязательный): флаги, влияющие на поиск (например, PREG_OFFSET_CAPTURE).
  • offset (необязательный): позиция в строке, с которой начинается поиск.

Примеры использования функции preg_match()



1. Простая проверка наличия строки
Проверка наличия телефонного номера в строке:
$string = "Телефон: +7 (999) 123-45-67";
$pattern = "/\+\d{1,3}\s*$\d{3}$\s*\d{3}-\d{2}-\d{2}/";
if (preg_match($pattern, $string)) {
    echo "Телефон найден!";
} else {
    echo "Телефона нет.";
}

Результат:
Телефон найден!

2. Извлечение данных
Извлечение электронной почты из строки:
$string = "Контакт: ivan.petrovski@gmail.com";
$pattern = "/[\w.-]+@[a-z\d.-]+\.[a-z]{2,4}/";
preg_match($pattern, $string, $match);
echo $match[0]; // ivan.petrovski@gmail.com

3. Поиск с учётом регистра
Поиск слова "PHP" с учётом регистра:
$string = "PHP — замечательный язык программирования!";
$pattern = "/PHP/i";
if (preg_match($pattern, $string)) {
    echo "PHP найден!";
} else {
    echo "PHP не найден.";
}

Результат:
PHP найден!

Практическое применение функции preg_match()


Функция preg_match() широко используется в следующих сценариях:
  • Валидация данных: проверка правильности ввода данных (почта, телефон, пароль).
  • Парсинг текста: извлечение необходимой информации из текста.
  • Обработка логов: поиск ошибок и сообщений в журналах.

Советы по использованию функции preg_match()


  • Регулярные выражения: используйте удобные генераторы регулярных выражений для создания сложных шаблонов.
  • Не злоупотребляйте regexp: помните, что регулярные выражения могут замедлить работу скрипта.
  • Проверяйте ошибки: всегда проверяйте результат работы функции, чтобы избежать неожиданных сбоев.

Функция preg_match() — это мощный инструмент для работы с регулярными выражениями в PHP. Она позволяет легко и эффективно искать и извлекать данные из строк, что делает её незаменимой в задачах обработки текста и валидации данных.

Автор:  30.10.2025 06:40:23 am