Функции регулярных выражений в PHP
PHP предоставляет множество функций, которые позволяют использовать регулярные выражения.
Некоторые распространённые функции regexp:
preg_match()— возвращает 1, если шаблон найден в строке, и 0, если нетpreg_match_all()— возвращает количество совпадений шаблона в строкеpreg_replace()— возвращает новую строку, в которой найденные шаблоны заменены на другую строкуpreg_split()— разбивает строку в массив, используя совпадения регулярного выражения в качестве разделителейpreg_grep()— возвращает массив, содержащий только те элементы входного массива, которые соответствуют заданному шаблону
Функция PHP preg_match()
Функция preg_match()
возвращает 1, если шаблон найден в строке, и 0, если нет.
Пример
Используйте регулярное выражение для нечувствительного к регистру поиска "schoolsw3" в строке:
$str = "Visit Schoolsw3";
$pattern = "/schoolsw3/i";
echo preg_match($pattern, $str);
Попробуйте сами »
Функция PHP preg_match_all()
Функция preg_match_all()
возвращает количество найденных совпадений для шаблона в строке.
Пример
Используйте регулярное выражение для нечувствительного к регистру подсчёта количества вхождений "ain" в строке:
$str = "The rain in SPAIN falls mainly on the plains.";
$pattern = "/ain/i";
echo preg_match_all($pattern, $str);
Попробуйте сами »
Функция PHP preg_replace()
Функция preg_replace() заменяет все совпадения шаблона в строке на другую строку.
Пример
Используйте нечувствительное к регистру регулярное выражение для замены Microsoft на Schoolsw3 в строке:
$str = "Visit Microsoft!";
$pattern = "/microsoft/i";
echo preg_replace($pattern, "Schoolsw3", $str);
Попробуйте сами »
Функция PHP preg_split()
Функция preg_split() разбивает строку в массив, используя совпадения регулярного выражения в качестве разделителей.
Пример
Используйте preg_split() для разделения строки на компоненты:
$str = "This is a text";
$pattern = "/[\s:]/";
$components = preg_split($pattern, $str);
print_r($components);
Попробуйте сами »
Функция PHP preg_grep()
Функция preg_grep()
возвращает массив, содержащий только те элементы входного массива, которые соответствуют заданному шаблону.
Пример
Получите элементы из массива, которые начинаются с "p":
$input = [
"Red",
"Pink",
"Green",
"Blue",
"Purple"
];
$result = preg_grep("/^p/i", $input);
print_r($result);
Попробуйте сами »
Функция preg_grep() также имеет третий
параметр PREG_GREP_INVERT, который инвертирует результат и
возвращает массив, содержащий только те элементы входного массива, которые не соответствуют заданному шаблону.
Пример
Получите элементы из массива, которые не начинаются с "p":
$input = [
"Red",
"Pink",
"Green",
"Blue",
"Purple"
];
$result = preg_grep("/^p/i", $input, PREG_GREP_INVERT);
print_r($result);
Попробуйте сами »
Группировка
Вы можете использовать круглые скобки ( ) для применения квантификаторов к целым шаблонам. Они также могут использоваться для выбора частей шаблона в качестве совпадения.
Пример
Используйте группировку для поиска слова "banana" путём поиска ba, за которым следуют два экземпляра na:
$str = "Apples and bananas.";
$pattern = "/ba(na){2}/i";
echo preg_match($pattern, $str);
Попробуйте сами »
Полный справочник по RegExp
Полный справочник вы найдёте на странице Полный справочник по регулярным выражениям PHP.
Справочник содержит описания и примеры всех функций регулярных выражений.