Tôi cần xây dựng một bộ định tuyến, định tuyến một yêu cầu REST tới một bộ điều khiển và hành động chính xác. Dưới đây là một số ví dụ:Định tuyến Javascript regex
POST /users
GET /users/:uid
GET /users/search&q=lol
GET /users
GET /users/:uid/pictures
GET /users/:uid/pictures/:pid
Điều quan trọng là phải có một biểu thức chính quy và tốt nhất có thể vì định tuyến là cần thiết và được thực hiện theo mọi yêu cầu.
trước tiên chúng ta phải thay thế: (cho đến khi kết thúc hoặc cho đến khi dấu gạch chéo tiếp theo /) trong url bằng regex, sau đó chúng tôi có thể sử dụng để xác thực url với url yêu cầu.
Làm cách nào chúng tôi có thể thay thế các định tuyến động này bằng regex? Giống như tìm kiếm chuỗi bắt đầu bằng ":" và kết thúc bằng "/", kết thúc chuỗi hoặc "&".
Đây là những gì tôi đã cố gắng:
var fixedUrl = new RegExp(url.replace(/\\\:[a-zA-Z0-9\_\-]+/g, '([a-zA-Z0-0\-\_]+)'));
Đối với một số lý do nó không hoạt động. Làm thế nào tôi có thể thực hiện một regex thay thế: id với regex, hoặc chỉ bỏ qua chúng khi so sánh với url yêu cầu thực.
Nhờ sự giúp đỡ
Tôi nghĩ dấu gạch chân (_) bị thiếu trong '([\\ w -] +)'? –