没有“?”的字符串的正则表达式用“?”重定向到字符串的字符字符

时间:2017-05-24 18:53:57

标签: regex redirect

在我们的网站上,我们偶尔会遇到动态链接无法正确构建的错误。

此类网址 https://www.test.url.edu/collections/&edan_fq[]=p.edanmdm.indexedstructured.object_type:%22Financial+records%22&edan_fq[]=p.edanmdm.descriptivenonrepeating.record_id:item_ *

实际应该是这样:

https://www.test.url.edu/collections/search?edan_fq[]=p.edanmdm.indexedstructured.object_type:%22Financial+records%22&edan_fq[]=p.edanmdm.descriptivenonrepeating.record_id:item_ *

我们想要创建一个正则表达式来重定向

/集合/&安培; edan_fq [] =

/ collections / search?edan_fq [] =

但是“edan_fq [] =”之后的所有内容都可以动态变化 - 在该点之后有数千个字符串的排列。

有谁知道如何做到这一点?

1 个答案:

答案 0 :(得分:0)

如果您在Regex中使用\&而不使用Global Flag,则会给出第一个匹配项。我已经使用了JavaScript,请检查一下。



var data = "https://www.test.url.edu/collections/&edan_fq[]=p.edanmdm.indexedstructured.object_type:%22Financial+records%22&edan_fq[]=p.edanmdm.descriptivenonrepeating.record_id:item_*";

var regex = /\&/
data = data.replace(regex,"search?");
console.log(data);




请查看Regex101中的替换示例。