Potrzebuję zbudować router, który kieruje żądanie REST do odpowiedniego kontrolera i akcji. Oto kilka przykładów:Rutowanie JavaScript regex
POST /users
GET /users/:uid
GET /users/search&q=lol
GET /users
GET /users/:uid/pictures
GET /users/:uid/pictures/:pid
Ważne jest, aby mieć pojedynczy wyrażenie regularne i tak dobre, jak to możliwe, ponieważ routing jest niezbędna i zrobione na każde żądanie.
Najpierw musimy zastąpić: (do końca lub do następnego ukośnika /) w adresach URL za pomocą wyrażenia regularnego, które następnie możemy wykorzystać do sprawdzenia adresu URL za pomocą adresu URL żądania.
Jak możemy zastąpić te dynamiczne trasy za pomocą wyrażenia regularnego? Podobnie jak wyszukiwanie łańcucha rozpoczynającego się od ":" i kończącego się na "/", koniec łańcucha lub "&".
To co próbowałem:
var fixedUrl = new RegExp(url.replace(/\\\:[a-zA-Z0-9\_\-]+/g, '([a-zA-Z0-0\-\_]+)'));
Z jakiegoś powodu nie działa. W jaki sposób mogę zaimplementować wyrażenie regularne, które zastępuje: id z wyrażeniem regularnym, lub po prostu ignoruje je w porównaniu z rzeczywistym adresem URL żądania.
Dzięki za pomoc
Myślę, że podkreślenia (_) brakuje w '([\\ w -] +)'? –