ruby中用于匹配行间内容的正则表达式
我试图在Ruby 1.8.7上找到一个正则表达式,用于从电子邮件中删除线程。为此,我需要删除邮件边界之间与线程模式匹配的所有内容,例如,在Mac mail上,我需要删除粗体文本(简化示例HTML以避免占用大量空间,real mail的HTML要简洁得多):ruby中用于匹配行间内容的正则表达式,ruby,regex,email,Ruby,Regex,Email,我试图在Ruby 1.8.7上找到一个正则表达式,用于从电子邮件中删除线程。为此,我需要删除邮件边界之间与线程模式匹配的所有内容,例如,在Mac mail上,我需要删除粗体文本(简化示例HTML以避免占用大量空间,real mail的HTML要简洁得多): 但是,在第一个“On”之前,这并不像从边界右侧捕获那样有效。这里有两个正则表达式将匹配文本。您可以gsub在每个表达式中输出相应的匹配组 /(^On\d\d\/\d\d\/\d{4}.$\n(\n>*$)*\n\n)/ /(在\d\d\/\d
但是,在第一个“On”之前,这并不像从边界右侧捕获那样有效。这里有两个正则表达式将匹配文本。您可以
gsub
在每个表达式中输出相应的匹配组
/(^On\d\d\/\d\d\/\d{4}.$\n(\n>*$)*\n\n)/
/(在\d\d\/\d\d\/\d{4}.*\n\n(.*\n)*)/
--Apple-Mail=_EFA7D6C2-C778-4C8E-AA13-C97DF1FA9036.+?(On \\d{0,2}[\\/\\-]\\d{0,2}[\\/\\-]\\d{0,4}.+?)--Apple-Mail=_EFA7D6C2-C778-4C8E-AA13-C97DF1FA9036
无需对此进行前瞻/回顾。对不起,我应该补充一点,该示例实际上是一封真实电子邮件的简化。问题已更新。
--Apple-Mail=_EFA7D6C2-C778-4C8E-AA13-C97DF1FA9036.+?(\bOn.+?)(?!--Apple-Mail=_EFA7D6C2-C778-4C8E-AA13-C97DF1FA9036)
--Apple-Mail=_EFA7D6C2-C778-4C8E-AA13-C97DF1FA9036.+?(On \\d{0,2}[\\/\\-]\\d{0,2}[\\/\\-]\\d{0,4}.+?)--Apple-Mail=_EFA7D6C2-C778-4C8E-AA13-C97DF1FA9036