2017-05-26 67 views
-1

我正在使用我的会员链接来推广产品的网络工具。 我需要修改一个URL如下。JavaScript正则表达式替换给定URL中的文本

我的URL可能在这种格式

https://www.example.com/productid 
http://www.example.com/productid& 
https://www.example.com/productid 
https://example.com/productid 
http://example.com/productid 

现在我需要写一个正则表达式将这些网址转换成这种格式

https://abc.example.com/abc/productid 

有人可以用正则表达式来做到这一点帮助?

+0

为什么不直接用'.COM/ABC /替换'.COM /' ''和'http:'用'https:'用'.replace()'? https://www.w3schools.com/jsref/jsref_replace.asp –

回答

0

这是行不通的吗?

正则表达式:

https?:\/\/(?:www\.)?example\.com\/productid(?:.*) 

替换为:https://abc.example.com/abc/productid

Regex101 Demo

var input = `https://www.example.com/productid 
 
http://www.example.com/productid& 
 
https://www.example.com/productid 
 
https://example.com/productid 
 
http://example.com/productid 
 
httpL//www.stackoverflow.com` 
 

 
var replaceWith = "https://abc.example.com/abc/productid"; 
 
output = input.replace(/https?:\/\/(?:www\.)?example\.com\/productid(?:.*)/g, replaceWith); 
 
console.log(output);

+0

不适用于此案例:https://regex101.com/r/vCWQ8U/4 – Uday

+0

您应该清楚您的要求。将所有条件和示例添加到问题中。如何:https://regex101.com/r/vCWQ8U/5? – degant