PHP split,substr 不同部分的电子邮件

PHP split,substr an email in different part

我需要将电子邮件拆分成不同的部分:

示例:PRgdg53366Joe@hotmail.com ==> |PRgdg|53366|Joe|@hotmail.com| ==>

|字符串|5 位|字符串|@hotmail.com| .

我不知道最简单的方法是什么。使用 preg_match() 或 Split/Substr/explode.

的正则表达式
$parts = explode('@', "PRgdg53366Joe@hotmail.com");

$name = $parts[0];
$mailserver = $parts[1];

我不知道如何将 "PRgdg5336Joe" 分成 3 部分。 *详情:|不限字符数|恰好 5 位数 | 字符数不限 | @mailserver.com|

您可以使用正则表达式来执行此操作,并对每个部分使用捕获。

preg_match("/(.*)(\d{5})(.*)/", $parts[0], $matches);

现在 $matches 将是一个数组,其中包含 $matches[0] 中的完整匹配项以及 $matches[1] 及以后需要的三个部分。