在此处的堆栈溢出问题中,解释说您可以使用以下代码删除电子邮件:
$pattern = "/[^@\s]*@[^@\s]*\.[^@\s]*/";
$replacement = "[removed]";
preg_replace($pattern, $replacement, $string);
这会删除 johndoe@gmail.com 之类的内容 - 如何修改正则表达式以便从一大段文本中删除 @johnDoe 之类的内容?
我真的不太了解正则表达式。
利用
$pattern = "/@[^@\s]*/";
在[^@\s]:
\s代表任何空格字符[@\s]代表一个字符组,包含\s(即空格)和@字符。它匹配@或\s[^@\s]代表不是的字符组 @\s[^@\s]匹配不是@字符或\s(即空格)的单个字符*在它代表前一个令牌之后(即[^@\s]此处)可以重复零次或多次。因此,[^@\s]*匹配任意长度的字符串,只要它不包含@或\s
作为旁注,您的链接为匹配电子邮件提供了一个非常简化的正则表达式。匹配电子邮件的完美方式绝非易事。