Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript正则表达式搜索,直到但不包括_Javascript_Regex - Fatal编程技术网

Javascript正则表达式搜索,直到但不包括

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

我有一个问题,我似乎无法解决它

我有一些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 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';