Задать вопрос
Umr001
@Umr001
php

Как сделать регулярку более сторогой?

Сейчас при подобной регулярке:
preg_match("/update.[0-9]+.[a-z]+/", $input_line, $output_array);

Проходит следующее: update/213/he/he/he
А по задумке должно проходить только update/213/he
Как быть?
  • Вопрос задан
  • 96 просмотров
Подписаться 1 Оценить 2 комментария
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
@MadridianFox
Web-программист, многостаночник
Надо добавить маркеры начала и окончания строки. Вот так:
preg_match("/^update\/[0-9]+\/[a-z]+$/", $input_line, $output_array);

Иначе выражение будет срабатывать на любые строки в которых (в середине длинного текста, например) есть искомый шаблон.
Ну и слэши явно указать надо.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
slo_nik
@slo_nik Куратор тега PHP
Добрый день.
Попробуйте сделать так:
preg_match("#update\/[0-9]+\/[a-z]+#", $input_line, $output_array);
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽