小白问一个正则表达式的问题

Tualatin5200 2016-07-27 10:50:33
输入URL: http://sp/sites/PPS-234_343/sdf/34/sdf/786/Documents/Hello World.docx
想用正则取到 /sites/PPS-234_343
我是这么写的
var regx = /\/sites\/\S+\//;
var rs = regx.exec("http://sp/sites/PPS-234_343/sdf/34/sdf/786/Documents/Hello World.docx");

但是输出的结果是
/sites/PPS-234_343/sdf/34/sdf/786/Documents/
貌似把后面一整串都输出了,我尝试使用{1},
/\/sites\/(\S+\/){1}/
但是好像也没啥用,应该是我对语法理解有错误

求教大神们正确的写法
...全文
104 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tualatin5200 2016-07-27
  • 打赏
  • 举报
回复
引用 1 楼 u012418098 的回复:

var url = "http://sp/sites/PPS-234_343/sdf/34/sdf/786/Documents/Hello World.docx";
console.log(url.split("/sp")[1].split("/sdf")[0]);
谢谢大神,但是这个不行,因为sp和sdf其实都是会变的,所以才希望通过正则取到中间的sites的那一部分 sites是关键字,是不会变的,URL里面其他的部分都是会变的
jio可 2016-07-27
  • 打赏
  • 举报
回复

var url = "http://sp/sites/PPS-234_343/sdf/34/sdf/786/Documents/Hello World.docx";
console.log(url.split("/sp")[1].split("/sdf")[0]);
Tualatin5200 2016-07-27
  • 打赏
  • 举报
回复
引用 5 楼 antiwise 的回复:
var regx = /\/sites\/[^\/]+/;
var regx = /\/sites\/[^\/]+/;
if(regx.test(url)) {
	alert(RegExp.lastMatch);
}
alert(regx.exec(url)[0]);
谢谢
Tualatin5200 2016-07-27
  • 打赏
  • 举报
回复
引用 4 楼 u012418098 的回复:
[quote=引用 2 楼 Tualatin5200 的回复:] [quote=引用 1 楼 u012418098 的回复:]

var url = "http://sp/sites/PPS-234_343/sdf/34/sdf/786/Documents/Hello World.docx";
console.log(url.split("/sp")[1].split("/sdf")[0]);
谢谢大神,但是这个不行,因为sp和sdf其实都是会变的,所以才希望通过正则取到中间的sites的那一部分 sites是关键字,是不会变的,URL里面其他的部分都是会变的[/quote] var url = "http://sp/sites/PPS-234_343/sdf/34/sdf/786/Documents/Hello World.docx"; var str = "/sites/"; console.log(str+""+url.split(str)[1].split("/")[0]);[/quote] 谢谢
OPPPPOP 2016-07-27
  • 打赏
  • 举报
回复
var regx = /\/sites\/[^\/]+/;
var regx = /\/sites\/[^\/]+/;
if(regx.test(url)) {
	alert(RegExp.lastMatch);
}
alert(regx.exec(url)[0]);
jio可 2016-07-27
  • 打赏
  • 举报
回复
引用 2 楼 Tualatin5200 的回复:
[quote=引用 1 楼 u012418098 的回复:]

var url = "http://sp/sites/PPS-234_343/sdf/34/sdf/786/Documents/Hello World.docx";
console.log(url.split("/sp")[1].split("/sdf")[0]);
谢谢大神,但是这个不行,因为sp和sdf其实都是会变的,所以才希望通过正则取到中间的sites的那一部分 sites是关键字,是不会变的,URL里面其他的部分都是会变的[/quote] var url = "http://sp/sites/PPS-234_343/sdf/34/sdf/786/Documents/Hello World.docx"; var str = "/sites/"; console.log(str+""+url.split(str)[1].split("/")[0]);
笨猿 2016-07-27
  • 打赏
  • 举报
回复
var sc="http://sp/sites/PPS-234_343/sdf/34/sdf/786/Documents/Hello World.docx" alert("/"+sc.split("/")[3]+"/"+sc.split("/")[4])

87,901

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧