繁体   English   中英

RegEx匹配具有多行值的标头

[英]RegEx match header with multi-line value

我的电子邮件标题如下:

To: <email@domain.com>
Subject: =?utf-8?B?dGnDqnUgxJHhu4Ega2jDtG5nIHRp4bq/bmcgdmnhu4d0IGhvw6BuIHRv?=
    =?utf-8?B?w6Bu?=
Date: Sat, 7 Jun 2014 21:39:10 +0700

我使用此正则表达式查询来匹配主题标头:

Subject: ([^\r\n]*\r\n  [^\r\n]*)

但是在某些情况下,主题有越来越多的额外行:

Subject: =?utf-8?B?dGnDqnUgxJHhu4Ega2jDtG5nIHRp4bq/bmcgdmnhu4d0IGhvw6BuIHRv?=
    =?utf-8?B?w6Bu4Ega2jDtG5nIHRp4bq/bmcgdmnhu4d0IGhvw6BuIHRv?=
    =?utf-8?B?w6Bu4Ega2jDtG5nIHRp4bq/bmcgdmnhu4d0IGhvw6BuIHRv?=

或仅一行:

Subject: =?utf-8?B?dGnDqnUgxJHhu4Ega2jDtG5nIHRp4bq/bmcgdmnhu4d0IGhvw6BuIHRv?=

如何修改查询以匹配所有大小写?

那将是:

Subject: ((?:[^\r\n]*\r\n)+  [^\r\n]*)

rubular

如果“ 主题”后面总是跟着“ 日期”,您也可以尝试以下操作:

在线演示

/Subject: .*(?=Date)/s
  • /s将使其使用一行或多行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM