我正在尝试解决如何使用此正则表达式提取 POP3 标头
^(?[a-zA-Z-]+)(?(?=:).+)$
收货人:yer@ner.com
该组还返回我想避免的 ':' 字符。我正在努力解决这个问题,但做不到。
需要集体智慧:-)
请注意,这不会处理包装的标头。实际上,该正则表达式将采用一个包装的标头,并将其添加到一个真正的标头中。特别是如果包装的标题在以下行中没有“:”。
在 Sergej Andrejev 的 Regex 的基础上,这个将处理不捕获换行的问题:
^([^:\s+]+):(.*)$
然而,最好的办法是逐行读取标题,并进行相应的解析。这很痛苦(因为我不得不为生产代码这样做),但它是最准确的。
我会选择类似的东西
/^([^:]+):(.*)$/
那么你会有
抱歉,复制了错误的代码:
^(\S+):\s((\s\S)*)
它适用于多行。