正则表达式挑战

regex challenge

过去两天我遇到了一个困扰我的小挑战。 我必须使用 RegEx

检查 "From:" 和 "X-Sender:" 是否具有相同的值

问题:

From: some text
<someone@mail.com>
X-Sender: notthatmail.com

colud RegEx 如何检查这两封邮件是否匹配? 这实际上是一封邮件,我必须在其中查看 Mime headers.

的邮件一致性

你可以使用这个:

From: .+?<(.+?)>.+?X-Sender: \b

如果匹配,则两封邮件相同。

请注意,这需要启用单行选项。如果您的正则表达式风格没有单行选项,您可以将所有 . 替换为 [\s\S] 以达到相同的效果。

这是如何工作的:

它首先找到 <> 括号中的电子邮件地址,将其捕获到组 1 中。然后它继续寻找单词 X-Sender:。然后它断言 X-Sender:.

之后必须有第 1 组 () 中的任何内容

Demo