【问题标题】:re2 regex expression that starts with From: and ends with domain.com以 From: 开头并以 domain.com 结尾的 re2 正则表达式
【发布时间】:2023-04-05 07:45:01
【问题描述】:

我正在尝试提出一个正则表达式,可用于过滤传入我的 Google Apps 域的电子邮件。我正在使用内容合规性检查它是否使用 DKIM 签名,然后查看标头的“发件人:”部分是否包含我们的域名。如果它未签名并且确实包含我们的域名,我会将其发送到隔离区。

我使用的表达方式可能过于复杂并且仍然缺少一些东西。今天错过了:

From: "Employee Name" <employeename@mydomain.com>

我需要一个 re2(Google 使用的版本)正则表达式来匹配:

From: any-combination-of-letters-and-special-characters@mydomain.com

我一直在使用以下内容,但是缺少一些:

((From:)\s{0,1}([\w.+\-]{0,40})\s{0,1}(\W|^)[\w.+\-]{0,25}@(mydomain)\.com(\W))

任何帮助将不胜感激!

【问题讨论】:

  • 不幸的是,它们并不总是遵循相同的格式。有时它会像上面那样,但有时它只是employeename@mydomain.com 我真的需要匹配字符串以From: 开头并以mydomain.com 结尾的东西,无论介于两者之间。
  • 问题可能出在长度上。如果在这种情况下您不能使用*+ 量词,From:.*?@mydomain\.com 将不起作用。

标签: regex re2


【解决方案1】:

试试这个,

'(From)(:)(\\s+)(".*?")(\\s+)(\\<)((?:[a-z][a-z]+))(@)((?:[a-z][a-z\\.\\d\\-]+)\\.(?:[a-z][a-z\\-]+))(?![\\w\\.])(\\>)'

这里From: 将被修复。

"Employee Name" #can replace any string within quotes
<employeename@mydomain.com> #can replace any email within <> tag

对于@mydomain.com

你可以用这个,

'(From)(:)(\\s+)(".*?")(\\s+)(\\<)[\\w\\.-]+(@)(mydomain\\.com)(\\>)'

如果有帮助请告诉我

【讨论】:

  • @Shc Final Judgment 如果您需要微调,请告诉我,我会根据您的要求更新我的答案,谢谢
  • 谢谢 Mohsin 博士。我需要它来匹配我们的域。我正在使用它来阻止人们在发送给我们时欺骗我们的域。结尾部分可以是mydomain\.com吗?
  • 结合^(From:)@(mydomain)\.com$的东西
  • 这看起来可行吗? ^(From:).*@(mydomain)\.com(\W)$
  • @Shc Final Judgment 更新了答案。让我知道这是否有帮助
【解决方案2】:

对我们来说,这是有效的。感谢所有帮助过的人!

^(From:).*@(mevion)\.com(\W)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-10
    • 1970-01-01
    • 1970-01-01
    • 2019-07-20
    • 2013-06-10
    • 1970-01-01
    相关资源
    最近更新 更多