Odwróć wyrażenie regularne, utwórz łańcuch z wyrażenia regularnego

Pracuję na wielojęzycznej stronie i wybrałem niestandardowe adresy URL dla każdego języka, więc na przykład:

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

Obie wskazują na metodę Index kontrolera Cities.

Na każdej stronie dostępna jest opcja zmiany języka, która będzie wyglądać w moich trasach tak, aby pasowała do kontrolera, widoku i języka.

Jeśli więc jestem na stronie holenderskiej, znajdzie odpowiedni adres URL dla wersji angielskiej, który będzie „miastami” zamiast „steden”.

Wszystko działało dobrze, aż zacząłem używać bardziej złożonych wyrażeń regularnych.

Mam te wyrażenia regularne, które będą pasować do moich pożądanych adresów URL:

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

W moim kodzie mam dostęp do dopasowywanej zmiennej „paris” w tym przykładzie. Czy byłoby możliwe „odwrócenie” tego wyrażenia regularnego i wydrukowanie go „en / cities / paris /”

Jeśli nie .. w jaki sposób chciałbym mieć linki do różnych wersji tej samej strony, biorąc pod uwagę, że adresy URL są różne .. najlepiej mieć je tak programowalne, jak to możliwe.

W nieco podobnym pytaniu ktoś odpowiedział (http://stackoverflow.com/a/7070734/616398), że esencja wyrażenia regularnego polega na dopasowaniu nieskończonej liczby wyników .. więc może nie być możliwe.

Jest dość łatwo przejść od ciągu znaków / adresu URL do zestawu dopasowanych kryteriów do użycia w MVC, ale na odwrót .. nie tyle, niestety.

questionAnswers(1)

yourAnswerToTheQuestion