Функция замены в JavaScript не заменяет правильный индекс соответствия регулярному выражению - PullRequest
0 голосов
/ 09 февраля 2019

У меня есть строка, и я обнаруживаю некоторые 'URL-адреса' и 'закрывающие теги привязки', используя выражение регулярного выражения.во-первых, я использую функцию соответствия, которая возвращает список «URL-адресов» и «закрывающих тегов привязки».далее, если мой первый URL-адрес совпадает со вторым URL-адресом, мне не нужно ничего делать, а если он не совпадает, то мне нужно заменить закрывающий тег привязки теми же URL-адресами.вот строка: -

"Это сообщение было отправлено на $ {EmailAddress}, потому что вы попросили нас держать вас в курсе последних новостей и предложений от компании. Если вы не хотите получать этиэлектронные письма, пожалуйста, отмените подписку $ {optout ()}. Вы также можете изменить свои настройки электронной почты на нашем веб-сайте, войдя по адресу 'тег' 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-й URL, т. Е. "https://support.samplewebsite.com/samplename".

Здесь я не могу написать тег в реальном формате, поэтому я использовал только текст вместо того же

, пожалуйста, помогите

...