正则匹配第2个/之后的字符串,比如/testapp/user/login,要求结果是/user/login
使用Nginx for lua api来写,ngx.re.match() 或者 ngx.re.find()
https://github.com/kidbei/lua...
正则匹配第2个/之后的字符串,比如/testapp/user/login,要求结果是/user/login
使用Nginx for lua api来写,ngx.re.match() 或者 ngx.re.find()
https://github.com/kidbei/lua...
分组捕获吧,取分组的内容
/^\/.+?(\/.+)/.exec("/testapp/user/login")
["/testapp/user/login", "/user/login"]
这个匹配的话肯定是会把前面的/testapp/
一起匹配到的。
所以换一个思路,你就是想把前面的/something/
,替换为一个/
,所以,就下面的代码啦:
// javascript
var str = "/testapp/user/login";
// 替换字符串
var result = str.replace(/\/[a-zA-z]+\//, "/");
// 打印一下结果
console.log( result ); // /user/login
其中的正则\/[a-zA-z]+\/
,就是用来匹配/testapp/
的。Node运行如下:
2 回答1.3k 阅读✓ 已解决
1 回答527 阅读
1 回答500 阅读