Обратное регулярное выражение, создать строку из регулярного выражения

Я работаю на многоязычном сайте и решил использовать собственные URL-адреса для каждого языка, например:

/en/cities/paris/
/nl/steden/paris/

Оба указывают на метод Index контроллера Cities.

На каждой странице есть возможность переключать язык, и в моих маршрутах будет отображаться соответствие контроллера, вида и языка.

Поэтому, если я нахожусь на голландской странице, он найдет правильный URL-адрес для английской версии, который будет «города» вместо «steden».

Все работало нормально, пока я не начал использовать более сложные регулярные выражения.

У меня есть эти регулярные выражения, которые будут соответствовать моим желаемым URL:

#^en/cities/([^/]+?)/$#
#^nl/steden/([^/]+?)/$#

В моем коде у меня есть доступ к соответствующей переменной, в этом примере 'paris'. Можно ли было бы «перевернуть» это регулярное выражение и вывести его «en / towns / paris /»

Если нет ... как бы я имел ссылки на разные версии одной и той же страницы, учитывая, что URL-адреса разные ... желательно, чтобы это было как можно более программируемым.

В чем-то похожем вопросе кто-то ответил (http://stackoverflow.com/a/7070734/616398), что суть регулярного выражения состоит в том, чтобы соответствовать бесконечному количеству результатов ... поэтому это может оказаться невозможным.

Довольно просто перейти от строки / URL к набору подходящих критериев для использования в MVC, но наоборот ... не так много, к сожалению.

Ответы на вопрос(1)

Ваш ответ на вопрос