Я пытаюсь сопоставить строку.Например, в следующих строках первое должно совпадать, второе не должно.
/users/akinuri/
/users/akinuri/asd/
Я пробовал использовать отрицательный прогноз, но это не сработало.Очевидно, что я делаю что-то не так.
if (preg_match("/\/users\/.*?\/(?!.*\/)/", "/users/akinuri/asd/")) {
echo "match";
}
Я экспериментирую (пытаюсь создать систему маршрутов).Сейчас я просто пытаюсь определить, является ли запрошенный URI действительным.Если посетитель запрашивает вторую строку, он должен вернуть false, и я верну не найденную страницу.Например, проверьте это на SO.Второй URL возвращает не найденную страницу.
https://stackoverflow.com/users/2202732/akinuri/
https://stackoverflow.com/users/2202732/akinuri/asdasd
Итак, могу ли я выполнить эту проверку с помощью регулярных выражений?Если так, то как?Что я делаю не так?
Или я должен разделить текст, а затем выполнить дополнительные проверки?Это кажется немного излишним.