我有这个Javascript片段:

var appId = document.URL;
var ele = [];
ele = appId.split('/', 5);
appId = ele[4];


从某些网址中提取子站点名称:




http://www.test.com/france/Admin/Get.aspx ==>管理员
www.test.com/france/图库==>图库


它工作正常,但我需要将表方法更改为regex,即我需要在france之后获取字符串。

做这个的最好方式是什么?

最佳答案

尝试此模式\/france\/(.*?(?=\/)|.*)

Demo regex and Explanation

升级
全部与第一个位置匹配



console.log(find("http://www.test.com/france/Admin/Get.aspx"))
console.log(find("www.test.com/france/Gallery"))
console.log(find("test.com/france/Admin-en-france/Get.aspx"))



function find(str){
return /\/france\/(.*?(?=\/)|.*)/g.exec(str)[1]
}

09-10 11:51