gpt4 book ai didi

ruby - 用于在 ruby​​ 中的行之间匹配内容的正则表达式

转载 作者:数据小太阳 更新时间:2023-10-29 08:10:00 26 4
gpt4 key购买 nike

我正试图在 Ruby 1.8.7 上找到一个正则表达式,用于从电子邮件中删除线程。为此,我需要删除邮件边界之间与线程模式匹配的所有内容,例如,在 Mac Mail 上,我需要删除粗体文本(示例 HTML 已简化以避免使用大量空间,real邮件的 HTML 远没有那么简洁):

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-C97DF1FA9036Content-Transfer-Encoding: quoted-printableContent-Type: text/plain;  charset=us-asciiNew comment added from Mac MailOn 12/06/2012, at 12:51, XXXX@example.com wrote:> Thread> text> to be> removed>=20--Apple-Mail=_EFA7D6C2-C778-4C8E-AA13-C97DF1FA9036Content-Transfer-Encoding: quoted-printableContent-Type: text/html;  charset=us-ascii<html>... lots of HTML...<span>On 12/06/2012, at 12:51, XXXX@example.com 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--

The regular expression I thought would capture the required text is:

--Apple-Mail=_EFA7D6C2-C778-4C8E-AA13-C97DF1FA9036.+?(\bOn.+?)(?!--Apple-Mail=_EFA7D6C2-C778-4C8E-AA13-C97DF1FA9036)

但这并不像从边界右侧捕获直到第一个 “On” 那样有效。

最佳答案

好的,所以这个问题的解决方案非常简单,我最终得到了如下表达式:

--Apple-Mail=_EFA7D6C2-C778-4C8E-AA13-C97DF1FA9036.+?(On \\d{0,2}[\\/\\-]\\d{0,2}[\\/\\-]\\d{0,4}.+?)--Apple-Mail=_EFA7D6C2-C778-4C8E-AA13-C97DF1FA9036

无需为此执行前视/后视。

关于ruby - 用于在 ruby​​ 中的行之间匹配内容的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11023786/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com