替换为Javascript中的正则表达式
我有一个正则表达式:替换为Javascript中的正则表达式,javascript,regex,Javascript,Regex,我有一个正则表达式: var a = window.location.href.replace(/((.*)[&|?])(sessionid(=[^&]*))([&|#](.*))/, '$1$5'); 从示例url中删除sessionid,如下所示: http://...&parent_location=Test&abc=123&sessionid=q26bh6bkm8g49aeopem2obdm87igrsfe&... 结果将是:
var a = window.location.href.replace(/((.*)[&|?])(sessionid(=[^&]*))([&|#](.*))/, '$1$5');
从示例url中删除sessionid,如下所示:
http://...&parent_location=Test&abc=123&sessionid=q26bh6bkm8g49aeopem2obdm87igrsfe&...
结果将是:
http://...&parent_location=Test&abc=123&&...
我的问题是,如果在该替换中,我还可以为父位置添加替换,您可以在一行中添加多个.replace方法
var a = window.location.href
.replace(/((.*)[&|?])(sessionid(=[^&]*))([&|#](.*))/, '$1$5')
.replace(/*statement*/);
您可以在一行中添加多个.replace方法
var a = window.location.href
.replace(/((.*)[&|?])(sessionid(=[^&]*))([&|#](.*))/, '$1$5')
.replace(/*statement*/);
使用单个正则表达式删除不必要的捕获组
str.replace(/([&?])(?:sessionid|parent_location)=[^&#]*(?=[&#]|$)/m, '$1')
使用单个正则表达式,删除不必要的捕获组
str.replace(/([&?])(?:sessionid|parent_location)=[^&#]*(?=[&#]|$)/m, '$1')
您的预期输出是什么?1。将URL/查询字符串解析为数组/对象。2.根据需要操纵数据。3.重新格式化为URL比regexen更理智。这个结果:http://...&&abc=123&&... 我不想同时删除父位置查询字符串,请同时删除¬neededWhat is your expected output?1。将URL/查询字符串解析为数组/对象。2.根据需要操纵数据。3.重新格式化为URL比regexen更理智。这个结果:http://...&&abc=123&&... 我不想同时删除parent_location查询字符串,也希望删除¬ needdoesn不能使用ash标记http://...&parent_location=Test&abc=123&sessionid=q26bh6bkm8g49aeopem2obdm87igrsfe#abc/abc 应保留:http://...&abc=123#abc/abcjust 在第一个字符类中添加
#
。。例如,[&?#]
不适用于灰烬标记http://...&parent_location=Test&abc=123&sessionid=q26bh6bkm8g49aeopem2obdm87igrsfe#abc/abc 应保留:http://...&abc=123#abc/abcjust 在第一个字符类中添加#
。。例如,[&?#]