我有一个字符串,并且正在使用正则表达式检测到一些“ URL”和“关闭锚标记”。首先,我使用匹配函数,该函数返回“ URL”和“关闭锚标签”的列表。此外,如果我的第一个URL与第二个URL匹配,那么我不需要执行任何操作,如果不匹配,则需要用相同的URL替换结束锚标记。这是字符串:-
“该邮件已发送至$ {EmailAddress},因为您要求我们向您提供该公司的最新消息和最新消息。如果您不希望收到这些电子邮件,请取消订阅$ {optout() }。您也可以在我们的网站上通过'a tag'登录来更改您的电子邮件首选项class =“ footer-link” href =“ https:// sample-website”> https://sample-website“关闭标签”。请不要回复此电子邮件,因为我们无法通过该电子邮件地址进行回复。如果您需要支持,请访问示例帮助中心“关闭标签”。
var regex3 = new RegExp(/<\/a.?>/gm);
var regex4 = new RegExp(/(?:(?:https?|ftp|file):\/\/|www\.|ftp\.)(?:\([-A-Z0-9+&@#\/%=~_|$?!:,.]*\)|[-A-Z0-9+&@#\/%=~_|$?!:,.])*(?:\([-A-Z0-9+&@#\/%=~_|$?!:,.]*\)|[A-Z0-9+&@#\/%=~_|$])/igm);
var closingATag = footerContentPlainText.match(regex3);
var URLList = footerContentPlainText.match(regex4);
if(URLList != null){
for(var j =0,k=0; j<URLList.length; j++,k++){
if(j+1 != URLList.length) {
if(URLList[j] != URLList[j+1]){
footerContentPlainText =
footerContentPlainText.replace(closingATag[j],"<" + URLList[j] + ">");
}
else if(URLList[j] == URLList[j+1]){
j++;
}
}
else{
if(URLaTags != null){
footerContentPlainText = footerContentPlainText.replace(closingATag[k],"<" + URLList[j] + ">");
}
}
}
}
尽管我为不同类型的字符串处理了不同的情况,但这是我遇到的问题。
我希望输出,最后一个“关闭标签”应替换为第3个网址,即“ https://support.samplewebsite.com/samplename”。
在这里,我无法以实际格式写标签,所以我只用文本代替了
请帮助