首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >RFC822标准的正则表达式

RFC822标准的正则表达式
EN

Stack Overflow用户
提问于 2018-02-01 13:02:45
回答 1查看 290关注 0票数 0

我们所面临的问题可以用正则表达式来解决:https://github.com/php-mime-mail-parser/php-mime-mail-parser/issues/176,一些电子邮件地址并不符合RFC822标准。特殊字符(例如)有问题。>@),它不在"的引号之内,也不是电子邮件地址。

以下是输入变体:

  • Neuman@BBN-TENEXA
  • Alfred > Neuman <Neuman@BBN-TENEXA>
  • Alfred > Neuman <Neuman@BBN-TENEXA>, Alfred Neuman <Neuman@BBN-TENEXA>, "Alfred > Neuman" <Neuman@BBN-TENEXA>, Alfred > Neuman <Neuman@BBN-TENEXA>
  • "Alfred > Neuman" <Neuman@BBN-TENEXA>
  • Alfred @ Neuman <Neuman@BBN-TENEXA>

这是必要的产出:

  • Neuman@BBN-TENEXA
  • "Alfred > Neuman" <Neuman@BBN-TENEXA>
  • "Alfred > Neuman" <Neuman@BBN-TENEXA>, Alfred Neuman <Neuman@BBN-TENEXA>, "Alfred > Neuman" <Neuman@BBN-TENEXA>, "Alfred > Neuman" <Neuman@BBN-TENEXA>
  • "Alfred > Neuman" <Neuman@BBN-TENEXA>
  • "Alfred @ Neuman" <Neuman@BBN-TENEXA>

有人能帮助创建这样的替换reg exp吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-01 13:15:24

Regex".*?"(*SKIP)(*FAIL)|(\w+\s[<>@]\s\w+) 替代"$1"

或者如果你想更精确地使用:

"\w+\s[<>@]\s\w+"(*SKIP)(*FAIL)|(\w+\s[<>@]\s\w+)

"Alfred\s[<>@]\sNeuman"(*SKIP)(*FAIL)|(Alfred\s[<>@]\sNeuman)

Regex演示

PHP代码

代码语言:javascript
运行
复制
$text = 'Neuman@BBN-TENEXA
Alfred > Neuman <Neuman@BBN-TENEXA>
Alfred > Neuman <Neuman@BBN-TENEXA>, Alfred Neuman <Neuman@BBN-TENEXA>, "Alfred > Neuman" <Neuman@BBN-TENEXA>, Alfred > Neuman <Neuman@BBN-TENEXA>
"Alfred > Neuman" <Neuman@BBN-TENEXA>
Alfred @ Neuman <Neuman@BBN-TENEXA>';

$text = preg_replace("/\".*?\"(*SKIP)(*FAIL)|(\w+\s[<>@]\s\w+)/", "\"$1\"", $text);
print_r($text);

输出

代码语言:javascript
运行
复制
Neuman@BBN-TENEXA
"Alfred > Neuman" <Neuman@BBN-TENEXA>
"Alfred > Neuman" <Neuman@BBN-TENEXA>, Alfred Neuman <Neuman@BBN-TENEXA>, "Alfred > Neuman" <Neuman@BBN-TENEXA>, "Alfred > Neuman" <Neuman@BBN-TENEXA>
"Alfred > Neuman" <Neuman@BBN-TENEXA>
"Alfred @ Neuman" <Neuman@BBN-TENEXA>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48563429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档