Помощь в составлении регулярки для URL

rafaello

Новичок
Здравствуйте!
Уважаемые форумчане, в связи с тем, что немного плаваю в регулярках прошу оказать содействие в написании регулярки для парсинга URL
Если отбросить начало http://domen.ru/
то получается следующее:
Есть custom type page, которые называется service, то есть начало всегда такое
service/
теперь, в зависимости от вложенности (но не более 5 уровня) ссылки могут быть
service/bla-bla/blu-blu-bli/
service/bla-bla/blu-blu-bli/qwerty/
service/bla-bla/blu-blu-bli/qwerty/page44/
Теперь по условиям заказчика надо добавить название метро в последнюю секцию, причем, название метро как может быть, так и не может, и также, слеш на конце может быть, а может и не быть
Например, метро ВДНХ - /vdnh/
получается
service/bla-bla/blu-blu-bli/vdnh/
service/bla-bla/blu-blu-bli/qwerty/page44/vdnh
Итак, начало у всех одинаковое service/
также, метро может добавляться только после первой секции, то есть сразу после service/ не может, а может после service/bla-bla/ и далее
и также, все названия метро зарезервированы, то есть для каждого названия метро отдельная регулярка.
Задача
Для перезаписи rewrite_rule мне надо разбить на действительный URL и /vdnh (если он есть). То есть в переменную $matches надо получить по отдельности действительный URL и /vdnh
Вобщем прошу помочь в составлении данной регулярки!
Заранее благодарю!
PS. Я так понимаю, если регулярка не найдет /vdnh то вордпресс перейдет к той регулярке, которая по умолчанию для всех страниц service/
 

rafaello

Новичок
то есть смысл в том, что регулярка должна найти метро и вытащить то, что написал выше,
а если метро нет, то вордпресс должен перейти к своей регулярке по умолчанию
 

rafaello

Новичок
Спасибо за помощь, г-н герр M:)ller !
Просидел пол-дня и родил похожее на ваше
Код:
service\/(([^\/]+\/?)+)\/(vdnh)\/?$
 

ksnk

прохожий
А если господин-товарищ-барин? Это уже тройное спасибо получается )))
 
Сверху