作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个从 Linux 邮件日志中获取的字符串,类似于:
May 20 12:19:28 example-03 amavis[1445]: (01445-15) Passed SPAMMY {RelayedTaggedInbound}, [10.4.3.2]:49488 [10.4.3.2] <offers-john=example.com@example.net> -> <john@example.com>, Queue-ID: C00OZs0w9DB, Message-ID: <5ZCfDBMQyiUjOVD78ZFxg5%3D%3D@example.net>, mail_id: aCUpU0wtUaR, Hits: 15.587, size: 21407, queued_as: dgzikuucQ9i, 438 ms
我需要提取的元素是:
<offers-john=example.com@example.net> -> <john@example.com>
我想让我的正则表达式尽可能简单明了,所以我不想进入电子邮件地址格式的正则表达式。尤其是因为对电子邮件格式进行正则表达式处理是一个容易出错的过程!
我试过了:
$row =~ /(<.*> -> <.*>,)/;
但是,尽管存在逗号分隔符,该语法会一直匹配到 Message-ID 的末尾,输出如下:
<offers-john=example.com@example.net> -> <john@example.com>, Queue-ID: C00OZs0w9DB, Message-ID: <5ZCfDBMQyiUjOVD78ZFxg5%3D%3D@example.net>,
最佳答案
关于regex - Perl 正则表达式匹配范围太广,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30547373/
我是一名优秀的程序员,十分优秀!