2014-03-19 54 views
0

我有这个网址:正则表达式工作的正则表达式测试仪,但不是为我工作

http://example.com/categories/listing/all-categories?src=home 

而且我在网上测试的正则表达式here,结束了这个:

[^/]*(?=\?) 

我想要的部分星号http://example.com/categories/listing/*all-categories*?src=home

在我的JavaScript之间我写这样的:

var reg = /[^\/]*(?=\?)/i; 
var url = document.location.href; 
var subcat = reg.exec(url); 
alert(subcat); 

但没有提醒,我做错了什么?

+0

此正则表达式与我的作品! –

+0

我认为你的问题是'document.location.href'。 alert(url)给了什么? – Jerry

+0

此外,您不需要在字符类内部转义'/',并且不区分大小写的标志也不会在这里执行任何操作。这不会解决您的问题,只是一个笔记。所以它可以简化为:'/ [^ /] *(?= \?)/' –

回答

2

,这是为我工作

var reg = /[^\/]*(?=\?)/i; 
var url = "http://example.com/categories/listing/all-categories?src=home"; 
var subcat = reg.exec(url); 
console.log(subcat); 

我觉得你document.location.href是另一回事,请检查一下

+1

http://jsfiddle.net/4824e/ –

+0

是的,我的代码有问题 – a1204773