Рассмотрим следующие строки
home
administrator
admin
admin/
admin/users/index
и preg_match("/^admin\/?(P<controller>[a-z-]+)?\/?(?P<action>[a-z-]+)?$/i", $input_line, $output_array);
, которые работают, чтобы соответствовать последним 3 строкам, как ожидается, но также соответствуют 'администратору', возвращающему 'istrator' в качестве«controller»
Как сделать «/» необязательным, но любой другой символ не считается.Я пробовал такие вещи, как [^a-z]\/?
, но я в растерянности.Возможно ли это?
логика;1. соответствует admin
2. все следующие символы являются необязательными
2.1, если существует следующий символ, это должен быть /
живой пример https://www.phpliveregex.com/p/oaQ