在堆栈溢出问题here中,解释说您可以使用以下代码删除电子邮件:
$pattern = "/[^@\s]*@[^@\s]*\.[^@\s]*/";
$replacement = "[removed]";
preg_replace($pattern, $replacement, $string);
这删除了像johndoe@gmail.com这样的东西 - 如何修改正则表达式,以便从一大块文本中删除@johnDoe之类的内容?
我真的不理解正则表达式。
答案 0 :(得分:1)
使用
$pattern = "/@[^@\s]*/";
在[^@\s]
:
\s
代表任何空格字符[@\s]
代表一个字符组,包含\s
(即空格)和@
字符。它与@
或\s
[^@\s]
代表不 @\s
[^@\s]
匹配不是@
字符或\s
的单个字符(即空格) *
代表前一个令牌(即此处[^@\s]
)可以重复零次或多次。因此,[^@\s]*
匹配任意长度的字符串,只要它不包含@
或\s
作为旁注,您的链接为匹配的电子邮件提供了非常简化的正则表达式。 The perfect way of matching e-mails are no simple matter.