我需要您的帮助,使用正则表达式提取正确的电子邮件。 这是一个原始的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
如何让正则表达式在此电子邮件地址中间没有两个#特殊字符的情况下返回电子邮件?
由于
答案 0 :(得分:0)
我没有完全得到您的问题,但无论如何都可以回答:使用正则表达式替换捕获组,如下面的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);