Regex忽略电子邮件中的某些字符
我需要你的帮助,用正则表达式提取正确的电子邮件。 以下是原始HTML: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]+
</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-_.]+