Javascript正则表达式搜索,直到但不包括
我有一个问题,我似乎无法解决它 我有一些URL是这样的:Javascript正则表达式搜索,直到但不包括,javascript,regex,Javascript,Regex,我有一个问题,我似乎无法解决它 我有一些URL是这样的: 我只想删除\/filter=(\w+)(\/?),因此只删除filter=show,但不包括下一个正斜杠。另外,filter只是一个变量 我所尝试的: var url = 'http://www.example.com/test/filter=show/results=true'; var param = 'filter'; var oldParam = '\/('+param+'=(.*?))'; var reg = new R
\/filter=(\w+)(\/?)
,因此只删除filter=show
,但不包括下一个正斜杠。另外,filter
只是一个变量
我所尝试的:
var url = 'http://www.example.com/test/filter=show/results=true';
var param = 'filter';
var oldParam = '\/('+param+'=(.*?))';
var reg = new RegExp(oldParam, "gi");
var result = url.replace(reg, "/");
这只会删除过滤器=
,而不显示。
非常感谢您的帮助。请像这样向前看
'http://www.example.com/test/filter=show/results=true'.replace(/\/filter=.*?(?=\/)/, '')
例:
演示:试着像这样向前看
'http://www.example.com/test/filter=show/results=true'.replace(/\/filter=.*?(?=\/)/, '')
例:
演示:试试看
var url = 'http://www.example.com/test/filter=show/results=true';
var result = url.replace(/filter=([^&\/]*[/]?)/gi, "");
alert(result);
======================更新==================
var url = 'http://www.example.com/test/filter=show/results=true';
var params = 'filter';
params = params+'=([^&\/]*[/]?)'
var reg = new RegExp(params, "gi");
var result = url.replace(reg, "");
alert(result);
试试看
======================更新==================
var url = 'http://www.example.com/test/filter=show/results=true';
var params = 'filter';
params = params+'=([^&\/]*[/]?)'
var reg = new RegExp(params, "gi");
var result = url.replace(reg, "");
alert(result);
这应该适合您的需要:
var url=”http://www.example.com/test/filter=show/results=true";
var param=“过滤器”;
var pattern=“/”+param+”=[^/]+”;
var regex=新的RegExp(模式,“gi”);
var result=url.replace(regex,“”);
记录(结果);
印刷品:
http://www.example.com/test/results=true
说明:
/filter=[^/]+
这应该适合您的需要:
var url=”http://www.example.com/test/filter=show/results=true";
var param=“过滤器”;
var pattern=“/”+param+”=[^/]+”;
var regex=新的RegExp(模式,“gi”);
var result=url.replace(regex,“”);
记录(结果);
印刷品:
http://www.example.com/test/results=true
说明:
/filter=[^/]+
小心逃生。使用构造函数构建的正则表达式必须是双转义的,因为它位于字符串
\\/
中。不确定这是否是整个解决方案,但问题就在那里。如果只删除filter=show
您想要双斜杠吗?从'http://www.example.com/test/filter=show/results=true“
至:”http://www.example.com/test//results=true“
?@DavidThomas,啊,不,我想要http://www.example.com/test/results=true
,或http://www.example.com/test
,取决于是否设置了该参数。谢谢,小心逃跑。使用构造函数构建的正则表达式必须是双转义的,因为它位于字符串\\/
中。不确定这是否是整个解决方案,但问题就在那里。如果只删除filter=show
您想要双斜杠吗?从'http://www.example.com/test/filter=show/results=true“
至:”http://www.example.com/test//results=true“
?@DavidThomas,啊,不,我想要http://www.example.com/test/results=true
,或http://www.example.com/test
,取决于是否设置了该参数。谢谢谢谢,但是在这种情况下,如何使过滤器
成为变量?如果我想删除results=true
,我不能为我拥有的每个变量生成函数。谢谢,但是在这种情况下如何使过滤器
成为变量?如果我想删除results=true
,我不能为我拥有的每个变量生成函数。谢谢,但是在这种情况下如何使filter成为变量呢?我不能为我拥有的每个变量生成函数,如果我想删除results=true
?我更新了makefilter作为变量,如果你想删除results=true,你只需要更改var params='filter';to var params='results';谢谢,但是在这种情况下,如何使过滤器成为变量呢?我不能为我拥有的每个变量生成函数,如果我想删除results=true
?我更新了makefilter作为变量,如果你想删除results=true,你只需要更改var params='filter';to var params='results';