Regex忽略电子邮件中的某些字符

Regex忽略电子邮件中的某些字符,regex,email,portia,Regex,Email,Portia,我需要你的帮助,用正则表达式提取正确的电子邮件。 以下是原始HTML: </a> <script> var XutJPVbvZ = 'sales@some##thing.com'; var XutJPVbvZ = XutJPVbvZ.split('#'); document.getElementById('XutJPVbvZ').innerHTML = XutJPVbvZ[0]+XutJPVbvZ[2]+

我需要你的帮助,用正则表达式提取正确的电子邮件。 以下是原始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>
我得到的是:sales@some##东西网

<> P>如何使正则表达式在电子邮件地址中间不返回两个“强”><强>特殊字符的电子邮件?


谢谢

我没有完全理解您的问题,但无论如何都可以回答:使用regex替换捕获组,如下面的Javascript代码所示:

const regex=/([a-zA-Z0-9-.]+)@([a-zA-Z0-9-.]+)\\\\\\\\([a-zA-Z]+)([a-zA-Z0-9-.]+)/gm;
常量str=`sales@some##thing.com`;
const subst=`$1@$2$3$4`;
//被替换的值将包含在结果变量中
const result=str.replace(regex,subst);

log('替换结果:',结果)
您是否仍要匹配电子邮件但去掉“#”字符,还是只匹配有效的电子邮件?是的,我想匹配电子邮件但去掉“#”字符,就像在匹配正则表达式后必须搜索并替换字符串一样。。。除非你想和匹配的组一起玩(即使这样,你仍然需要后期处理才能将组重新组合起来)@swalladge我不能这么做,因为这是刮下来的html。。。我正在以csv格式导出它,所以也许以后我可以在这里执行,但如果我可以在废弃时使用表达式,那就太好了……如果您详细说明您在问题中使用的工具,可能会有所帮助。:)
[a-zA-Z0-9-_.]+@[a-zA-Z0-9-_.]+[a-zA-Z]+[a-zA-Z0-9-_.]+