この正規表現を使用してPOP3ヘッダーを抽出する方法を見つけようとしています
^(?[a-zA-Z-]+)(?(?=:).+)$
配達先: yer@ner.com
グループは、私が避けたい「:」文字も返します。私はこれを解決しようとしていますが、できません。
集合的な知恵が必要です:-)
ご承知のとおり、これはラップされたヘッダーを処理しません。実際、その正規表現はラップされたヘッダーを取得し、それを実際のヘッダーに追加します。特に、ラップされたヘッダーの次の行に「:」がない場合。
Sergej Andrejev の正規表現に基づいて構築すると、これはラップされた行をキャプチャしないように処理します。
^([^:\s+]+):(.*)$
ただし、最善の方法は、実際にヘッダーを 1 行ずつ読み取り、それに応じて解析することです。これは面倒ですが (実動コードでやらなければならなかったので)、これが最も正確です。
私は次のようなもので行きます
/^([^:]+):(.*)$/
それからあなたは持っているでしょう
申し訳ありませんが、間違ったコードをコピーしました:
^(\S+):\s((\s\S)*)
複数行で動作します。