Метод match класса UnicodeString
Метод match класса UnicodeString выполняет поиск по регулярному выражению в строке. Первым параметром передаётся регулярное выражение, вторым - флаг, влияющий на поведение метода. Возвращает массив совпадений или null, если ничего не найдено.
Синтаксис
public function match(string $regexp, int $flags = 0): ?array
Пример
Давайте найдём все цифры в строке:
<?php
use Symfony\Component\String\UnicodeString;
$str = new UnicodeString('abcde 12345');
$res = $str->match('/\d+/');
var_dump($res);
?>
Результат выполнения кода:
["12345"]
Пример
Давайте найдём все вхождения слова 'article' в строке:
<?php
use Symfony\Component\String\UnicodeString;
$str = new UnicodeString('article one, article two');
$res = $str->match('/article/');
var_dump($res);
?>
Результат выполнения кода:
["article"]
Пример
Давайте используем флаг PREG_OFFSET_CAPTURE, чтобы получить позицию совпадения:
<?php
use Symfony\Component\String\UnicodeString;
$str = new UnicodeString('hello user');
$res = $str->match('/user/', PREG_OFFSET_CAPTURE);
var_dump($res);
?>
Результат выполнения кода:
[["user", 6]]
Смотрите также
-
класс
UnicodeString,
который представляет строку в кодировке UTF-8 -
метод
replaceMatches,
который заменяет совпадения по регулярному выражению -
метод
contains,
который проверяет наличие подстроки -
метод
indexOf,
который возвращает позицию первого вхождения подстроки