You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改电子邮件解析正则表达式,将@替换为(at)匹配?

修改匹配(at)替代@的正则表达式

很简单,只需要把原正则里匹配@的部分替换成转义后的\(at\)就可以了——因为括号()是正则中的特殊元字符(用来定义分组),必须用反斜杠转义才能匹配字面意义上的括号。

修改后的完整PHP代码如下:

<?php 
$res = preg_match_all( "/[a-z0-9]+([_\\.-][a-z0-9]+)*\(at\)([a-z0-9]+([\.-][a-z0-9]+)*)+\\.[a-z]{2,}/i", $text, $matches ); 
?>

关键修改点说明:

  • 原正则中的@被替换为\(at\):\(和\)分别转义左括号和右括号,确保正则会匹配字面的(at)字符串,而不是把它当作正则分组来解析。
  • 原有的/i修饰符保留,所以这个正则依然支持大小写不敏感匹配,比如(At)、(AT)、(aT)这类写法也能被正确识别。

举个例子,如果你的$text变量里包含alice_bob(at)test-domain.co.uk或者Charlie.Doe(AT)Example.com,都会被这个正则成功捕获。

内容的提问来源于stack exchange,提问作者Andrzej Jęziorski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:36:58