正则表达式挑战

时间:2019-03-10 12:16:21

标签: regex email html-email regex-lookarounds regex-group

过去两天来,我遇到了一个小挑战。 我必须使用RegEx来检查“发件人:”和“ X-发件人:”是否具有相同的值

问题:

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

Regud如何执行RegEx检查这两封邮件是否匹配? 这实际上是一封邮件,我必须在其中查找Mime标头的表单邮件一致性。

1 个答案:

答案 0 :(得分:1)

您可以使用此:

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

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

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

这是如何工作的:

它首先在<>括号中找到电子邮件地址,并将其捕获到组1中。然后,它继续寻找单词X-Sender:。然后断言,\1一词之后的第1组(X-Sender:)中必须有任何东西。

Demo