Существует ли встроенная функция PHP для простого извлечения одного совпадения с регулярным выражением в одном выражении? - PullRequest
0 голосов
/ 20 июня 2019

Я знаю, что это работает:

preg_match('/\d+/', '1234 Subject', $matches);
echo $matches[0]; // 1234

Но мне любопытно, есть ли встроенная функция, которая просто возвращает первое совпадение, например:

echo mysteryFunction('/\d+/', '1234 Subject'); // 1234

Без необходимости сохранять результаты в массиве и последующей ссылки на элемент массива отдельно?

Если нет, то почему, есть ли веская причина?

Спасибо

1 Ответ

3 голосов
/ 20 июня 2019

Нет, нет. Но для развлечения (я не предлагаю использовать это), если вы используете группу захвата ():

echo preg_split('/(\d+)/', '1234 Subject', null, PREG_SPLIT_DELIM_CAPTURE)[1];

Так же, как ваш echo $matches[0];, вы получите Примечание: неопределенное смещение , если совпадений нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...