preg_match
Проверяет строку по регулярному выражению.
Синтаксис
preg_match(string $pattern, string $subject, array &$matches = null): int|falseПараметры
| Параметр | Тип | Описание |
|---|---|---|
| $pattern | string | Шаблон между разделителями, например `/\d+/`. |
| $subject | string | Проверяемая строка. |
| $matches | array | Необязательный. Сюда попадают совпадение и группы. |
Возвращаемое значение
int|false`1`, если шаблон найден, `0` — если нет, `false` при ошибке в шаблоне.
Примеры
Проверка формата даты:
<?php
echo preg_match('/^\d{4}-\d{2}-\d{2}$/', '2025-01-30'), "\n";
echo preg_match('/^\d{4}-\d{2}-\d{2}$/', '30.01.2025');Результат:
1
0Группы попадают в массив:
<?php
preg_match('/(\w+)@(\w+\.\w+)/', 'Write to anna@example.com', $matches);
echo $matches[1], ' | ', $matches[2];Результат:
anna | example.comПримечания
Для текста с кириллицей добавляйте модификатор u: /кот/u. Функция находит только первое совпадение — все находит preg_match_all().
См. также
- preg_replace — Заменяет всё, что подошло под регулярное выражение.
- preg_match_all — Находит все совпадения с регулярным выражением.
- str_contains — Проверяет, содержит ли строка заданную подстроку.
Вопросы и ответы по теме
В учебнике
- Регулярные выражения — Регулярные выражения в PHP — preg_match, preg_replace, preg_split, группы и основные обозначения шаблонов.