我想弄清楚Ruby 1.8.7的正則表達式,用於從電子郵件中刪除線程。爲此,我需要刪除與線程模式匹配的郵件邊界之間的所有內容,例如,在Mac Mail上,我需要刪除粗體文本(示例HTML被簡化以避免使用大量空間,真實郵件' HTML是遠不如簡潔):正則表達式匹配ruby中的行之間的內容
From: XXXX ... mail headers ... Content-Type: multipart/alternative; boundary="Apple-Mail=_EFA7D6C2-C778-4C8E-AA13-C97DF1FA9036" ... more mail headers ... --Apple-Mail=_EFA7D6C2-C778-4C8E-AA13-C97DF1FA9036 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii New comment added from Mac Mail On 12/06/2012, at 12:51, [email protected] wrote: > Thread > text > to be > removed >=20 --Apple-Mail=_EFA7D6C2-C778-4C8E-AA13-C97DF1FA9036 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=us-ascii <html>... lots of HTML... <span>On 12/06/2012, at 12:51, [email protected] wrote:</span> <span> Thread </span> <span> text </span> <span> to be </span> <span> removed </span> <span>=20 </span> </html>= --Apple-Mail=_EFA7D6C2-C778-4C8E-AA13-C97DF1FA9036--
正則表達式我以爲會獲取所需的文字是:
--Apple-Mail=_EFA7D6C2-C778-4C8E-AA13-C97DF1FA9036.+?(\bOn.+?)(?!--Apple-Mail=_EFA7D6C2-C778-4C8E-AA13-C97DF1FA9036)
但這不是工作作爲從邊界正確捕捉到第一「開」。
對不起,我應該補充說,這個例子實際上是一個真正的電子郵件的簡化。問題已更新。 – Anero