应用于此字符串的正则表达式(从 PHP 移植到 Javascript、Node.js):
/users/:uid/posts/:pid
/users/:uid
/messages/:mid
上面的字符串包含参数(在“:”符号之后),直到下一个正斜杠,我用字符串正则表达式替换它们。最终应该是这样的:
/users/([a-zA-Z0-9\-\_]+)/posts/([a-zA-Z0-9\-\_]+)
所以路由中的所有参数,都应该用正则表达式字符串替换。我使用以下代码来实现这一点:
var fixedRoute = route[url].replace(/\\\:[a-zA-Z0-9\_\-]+/, '([a-zA-Z0-9\-\_]+)');
输出是一样的,字符串没有被替换。谁能帮我解决这个正则表达式?
非常感谢