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);
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
28 апр. 2024, в 00:54
10000 руб./за проект
28 апр. 2024, в 00:53
70000 руб./за проект
27 апр. 2024, в 21:24
150000 руб./за проект