Дана строка вида:
qwerty/1-2
А так же возможны варианты:
qwerty/qwerty2/1-2qwerty/qwerty2/qwerty3/1-21-2
и т.п.
Кол-во подстрок может быть любым.
Пытаюсь регулярным выражением проверить строку на валидность, и заодно разбить на части.
preg_match('%^((?<par1>[a-z0-9_-]+)/)*(?<par2>[0-9]+)-(?<par3>[0-9]+)$%', 'qwerty1/qwerty2/1-2', $matches);
print_r($matches);
Ожидание:
Array
(
[par1] => Array
(
[0] => qwerty1
[1] => qwerty2
)
[par2] => 1
[par3] => 2
)
Реальность:
Array
(
[par1] => qwerty2
[par2] => 1
[par3] => 2
)
Есть решения, кроме explode?