Umr001
@Umr001
php

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

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

Проходит следующее: update/213/he/he/he
А по задумке должно проходить только update/213/he
Как быть?
  • Вопрос задан
  • 95 просмотров
Решения вопроса 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);
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы