@krispey15

PHP как правильно написать регулярное выражение для обработки url?

Есть ссылка ввида (код в ссылке может быть любой, но состоит из больших букв, цифр и тире)
https://site.ru/AF9229EF-8S26-VGJ1-B42K-004F4FC964BD/

В обработчике адресов стоит следующее:
0 =>
     array(
         'CONDITION' => "#^/([A-Z0-9-]+)/#",
         'PATH' => '/forms/index.php',
     ),

Как правильно прописать регулярку чтобы в это правило не попадали url вида
https://site.ru/AF9229EF-8S26-VGJ1-B42K-004F4FC964BD/test
https://site.ru/AF9229EF-8S26-VGJ1-B42K-004F4FC964BD/123
https://site.ru/AF9229EF-8S26-VGJ1-B42K-004F4FC964BD/123/4321643

и подобные (подпути)?
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
SagePtr
@SagePtr
Еда - это святое
Если ловить обязательно такого вида (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx), то так:
https:\/\/site.ru\/[0-9A-Z]{8}-[0-9A-Z]{4}-[0-9A-Z]{4}-[0-9A-Z]{4}-[0-9A-Z]{12}\/$

Возможно, A-Z стоит заменить на A-F, т.к. очень похоже на GUID, где символы не произвольные, а 16-ричные "цифры".
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
iMedved2009
@iMedved2009
Не люблю людей
https:\/\/site.ru\/[^\/]+\/$

https://regex101.com/r/SXsp1e/1
Ответ написан
https:\/\/site.ru\/[A-Z0-9]{8}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{12}\/$


пример на regex101
Ответ написан
Комментировать
fzfx
@fzfx
18,5 дм
#^/([A-Z0-9-]+)/$#
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы