我正在尝试使用此正则表达式来解决如何提取POP3标头
^([A-ZA-Z - ] +?)((=:?)。+)$
Delivered-To:yer@ner.com
该组还返回':'字符,我想避免。我正在试图解决这个问题,但不能。
需要集体智慧: - )
答案 0 :(得分:2)
您知道,这不会处理包装的标头。实际上,该正则表达式将采用包装头,并将其添加到实际标头中。特别是如果包装的标题在以下行中没有“:”。
在Sergej Andrejev的正则表达式的基础上,这个将处理不捕获包裹线:
^([^:\s+]+):(.*)$
但是,最好的办法是逐行读取标题,并进行相应的解析。这是一个痛苦(因为我必须为生产代码做这件事),但它是最准确的。
答案 1 :(得分:1)
我会选择像
这样的东西/^([^:]+):(.*)$/
然后你会
答案 2 :(得分:0)
抱歉,复制了错误的代码:
^(\ S +):\ S((\ S \ S)*)
它适用于多行。