@Diversia

PHP: Как выделить из строки 4 цифры?

Здравствуйте.

Есть строка:
$message = "0411 Тест";
Необходимо из этой строки вытащить число 0411. При условии:
1. число может начинаться с нуля;
2. число состоит только из 4 символов;
3. число должно быть в начале строки.

Делаю так:
$message = "0411 Тест";
$prefix = preg_replace('/[^\d]+/','',$message);
if (strlen($prefix) > 4) {$prefix = "error";}

Работает. Но, если строку изменить на:
$message = "0411 Тест 123";
не работает, т.к. получается:
0411123

Подскажите пожалуйста, как правильно составить регулярное выражение.
  • Вопрос задан
  • 707 просмотров
Решения вопроса 1
$message = "0411 Тест";
// ищем в начале строки 4 цифры 0-9, а далее либо конец строки, либо любой символ, кроме 0-9
if (preg_match('/^([0-9]{4})($|[^0-9]+)/', $message, $matches)) {
    echo $matches[1]; // искомое число
}


Для тестирования регулярок есть неплохой инструмент https://regex101.com/
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
23 сент. 2021, в 23:19
600 руб./за проект
23 сент. 2021, в 23:04
40000 руб./за проект
23 сент. 2021, в 22:59
1500 руб./за проект