用于提取POP3标头的正则表达式

时间:2009-04-05 12:36:22

标签: regex pop3

我正在尝试使用此正则表达式来解决如何提取POP3标头

^([A-ZA-Z - ] +?)((=:?)。+)$

Delivered-To:yer@ner.com

该组还返回':'字符,我想避免。我正在试图解决这个问题,但不能。

需要集体智慧: - )

3 个答案:

答案 0 :(得分:2)

您知道,这不会处理包装的标头。实际上,该正则表达式将采用包装头,并将其添加到实际标头中。特别是如果包装的标题在以下行中没有“:”。

在Sergej Andrejev的正则表达式的基础上,这个将处理不捕获包裹线:

^([^:\s+]+):(.*)$

但是,最好的办法是逐行读取标题,并进行相应的解析。这是一个痛苦(因为我必须为生产代码做这件事),但它是最准确的。

答案 1 :(得分:1)

我会选择像

这样的东西
/^([^:]+):(.*)$/ 

然后你会

  • $ 1 - 标题名称
  • $ 2 - 价值

答案 2 :(得分:0)

抱歉,复制了错误的代码:
^(\ S +):\ S((\ S \ S)*)
它适用于多行。