【问题标题】:RegEx match header with multi-line value具有多行值的正则表达式匹配标头
【发布时间】:2014-06-07 15:01:06
【问题描述】:

我的邮件标题如下:

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?=

如何编辑查询以匹配所有大小写?

【问题讨论】:

    标签: c# .net regex vb.net


    【解决方案1】:

    那就是:

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

    rubular

    【讨论】:

      【解决方案2】:

      如果 Subject 后面总是跟着 Date,你也可以试试这个:

      Online Demo

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-07-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-11
        • 2020-10-03
        • 2021-12-11
        相关资源
        最近更新 更多