求一删除多个URL参数正则

来源:百度知道 编辑:UC知道 时间:2024/07/07 16:37:00
如题
http://localhost/a.asp?nnn=1&aaa=3&bbb=3&ccc=4
假如我要删除 nnn=1& 这个... 正则怎么写? 1是随便给的..nnn是限定死的... 我要同时删除aaa=3& &ccc=4 这2个又改怎么写正则!
有可能是删除一个也有可能是删除2个!
<%'http://localhost/aaa.asp?ccc=1&aaa=2&bbb=3&nnn=4
Url=Request.QueryString
Str="ccc,bbb,nnn"
Response.Write(RegUrl(Url,Str))
Function RegUrl(Url,Str) '替换URL参数
Dim RegEx,RNo
If IsNull(Url) Or Url="" Or IsNull(Str) Or Str="" Then Exit Function
Str=Split(Str,",")
For RNo=0 to ubound(Str)
RegPa=RegPa&"|(\s*|\&)"&Str(RNo)&"=(\d)"
Next
Response.Write(RegPa&"<br>")
Set RegEx=New RegExp
RegEx.pattern=Right(RegPa,Len(RegPa)-1)
RegE

第一个:
nnn=\d+\&

第二个:
aaa=\d+\&

第三个:
\&ccc=\d+

不知道你用什么语言,我用PHP给你写个例子:
$str='http://localhost/a.asp?nnn=1&aaa=3&bbb=3&ccc=4';
$str=preg_replace('/nnn=\d+&/','',$str);
echo $str;

补充:
以下ASP例子代码调试通过,保证正确运行:

<%
str="http://localhost/a.asp?nnn=1&aaa=3&bbb=3&ccc=4"
set re=new RegExp
re.Global = True
re.Pattern = "nnn=\d+\&"
str=re.replace(str,"")
re.Pattern = "aaa=\d+\&"
str=re.replace(str,"")
re.Pattern = "\&ccc=\d+"
str=re.replace(str,"")
response.write str
%>