在此处的堆栈溢出问题中,解释说您可以使用以下代码删除电子邮件:
$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
作为旁注,您的链接为匹配电子邮件提供了一个非常简化的正则表达式。匹配电子邮件的完美方式绝非易事。