メールからスレッドを削除するための Ruby 1.8.7 の正規表現を見つけようとしています。そのためには、スレッド パターンに一致するメール境界間のすべてのコンテンツを削除する必要があります。たとえば、Mac メールでは、太字のテキストを削除する必要があります (サンプル HTML は、多くのスペースを使用しないように簡略化されています。実際のメールの HTMLはるかに簡潔ではありません):
差出人: XXXX ... メールヘッダー ... コンテントタイプ: マルチパート/オルタナティブ; 境界="Apple-Mail=_EFA7D6C2-C778-4C8E-AA13-C97DF1FA9036" ... その他のメールヘッダー ... --Apple-Mail=_EFA7D6C2-C778-4C8E-AA13-C97DF1FA9036 Content-Transfer-Encoding: quoted-printable コンテンツ タイプ: テキスト/プレーン。 charset=us-ascii Mac メールから追加された新しいコメント 2012 年 12 月 6 日 12 時 51 分、XXXX@example.com は次のように書いています。 > スレッド > テキスト > なる >削除されました >=20 --Apple-Mail=_EFA7D6C2-C778-4C8E-AA13-C97DF1FA9036 Content-Transfer-Encoding: quoted-printable コンテンツ タイプ: テキスト/html; charset=us-ascii <html>...たくさんのHTML... <span>2012 年 12 月 6 日 12:51 に、XXXX@example.com は次のように書いています:</span> <span> スレッド </span> <span> テキスト </span> <span> する</span> <スパン>削除</スパン> <スパン>=20 </スパン> </html>= --Apple-Mail=_EFA7D6C2-C778-4C8E-AA13-C97DF1FA9036--
必要なテキストをキャプチャすると思った正規表現は次のとおりです。
--Apple-Mail=_EFA7D6C2-C778-4C8E-AA13-C97DF1FA9036.+?(\bOn.+?)(?!--Apple-Mail=_EFA7D6C2-C778-4C8E-AA13-C97DF1FA9036)
しかし、これは最初の"On "まで境界からキャプチャするように機能していません。