Regex игнорировать определенные символы в электронном письме - PullRequest
0 голосов
/ 07 июня 2018

Мне нужна ваша помощь с извлечением правильного письма с регулярным выражением.Вот необработанный HTML-код:

  </a>
  <script>
      var XutJPVbvZ = 'sales@some##thing.com';
      var XutJPVbvZ = XutJPVbvZ.split('#');
      document.getElementById('XutJPVbvZ').innerHTML = 
           XutJPVbvZ[0]+XutJPVbvZ[2]+XutJPVbvZ[1]; 
      document.getElementById('XutJPVbvZ').href = 
           'mailto:'+XutJPVbvZ[0]+XutJPVbvZ[2]+XutJPVbvZ[1];
  </script>
</div>

Я сопоставляю письмо с этим выражением:

[a-zA-Z0-9-_.]+@[a-zA-Z0-9-_.]+[a-zA-Z]+[a-zA-Z0-9-_.]+

Я получаю следующее: sales@some##thing.com

Как заставить регулярное выражение возвращать электронное письмо без двух # специальных символов в середине этого адреса электронной почты?

Спасибо

1 Ответ

0 голосов
/ 07 июня 2018

Я не до конца понимаю ваш вопрос, но могу ответить в любом случае: используйте regex replace для захвата групп, как показано в коде Javascript ниже:

const regex = /([a-zA-Z0-9-_.]+)@([a-zA-Z0-9-_.]+)\#\#([a-zA-Z]+)([a-zA-Z0-9-_.]+)/gm;
const str = `sales@some##thing.com`;
const subst = `$1@$2$3$4`;

// The substituted value will be contained in the result variable
const result = str.replace(regex, subst);

console.log('Substitution result: ', result);
...