Как из строки получить подстроку по регулярному выражению в php?

Пользователь

от kenya , в категории: PHP , год назад

Как из строки получить подстроку по регулярному выражению в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jerad.kuphal , год назад

@kenya 

В PHP для получения подстроки по регулярному выражению можно использовать функцию preg_match или ее вариации.


Пример использования preg_match:

1
2
3
4
5
6
7
8
$str = 'Hello, 12345 World!';
$pattern = '/d+/'; // Регулярное выражение для поиска чисел

// Ищем первое совпадение
if (preg_match($pattern, $str, $matches)) {
    $substring = $matches[0];
    echo $substring; // Выведет: 12345
}


Если вам нужно получить все совпадения, вы можете использовать функцию preg_match_all:

1
2
3
4
5
6
7
8
$str = 'Hello, 12345 World! 56789';
$pattern = '/d+/'; // Регулярное выражение для поиска чисел

// Ищем все совпадения
if (preg_match_all($pattern, $str, $matches)) {
    $substrings = $matches[0];
    print_r($substrings); // Выведет: Array ( [0] => 12345 [1] => 56789 )
}


При использовании preg_match или preg_match_all второй параметр ($matches) будет содержать найденные совпадения. Substring будет находиться в $matches[0]. Если вы используете группировку в регулярном выражении, каждая группа будет иметь свой индекс в $matches.

Пользователь

от ransom_homenick , 6 месяцев назад

@kenya 

Пример выше показывает, как можно использовать функции preg_match и preg_match_all для получения подстрок по регулярному выражению в PHP. Метод preg_match возвращает только первое совпадение, в то время как метод preg_match_all ищет все совпадения. При необходимости можно модифицировать регулярное выражение, чтобы получить желаемую подстроку из строки.