javascript - 想要一个正则表达式来解析带有 ↵ 字符的电子邮件回复

标签 javascript regex node.js

只想解析以下电子邮件线程的最新回复。即 你好 Nikhil Bopora,↵↵简单介绍一下,我正在构建一个 替代电子借贷↵平台。

我编写的用于涵盖各种用例的通用正则表达式 /[\s]*([\s\S]*.)[\s]*\n\n[\s]*On [\s\S]*.<[\s\S]*.> wrote/ 不适用于 ↵ 字符。

有人可以帮我用 javascript 编写一个好的正则表达式来解析它吗?

Hello Nikhil,↵↵Just to give a brief, I am in process of building an alternate e-lending↵platform.↵↵↵On Sun, Jan 10, 2016 at 1:16 PM, Deepak Modak ↵wrote:↵↵> Deepak Modak has sent a message↵>↵> I am trying to build a financial product, need your feedback & insights.↵>↵> Requested TimeSlots:↵> --------------------------↵> Mon Jan 11 2016, 10:00 PM↵>↵>↵>

最佳答案

为了尝试给出一个简短的答案,这里有一个正则表达式应该适合您,无需任何替换。\u21b5 代表“↵”并使之成为可能。如果您想稍后删除箭头,只需使用/\u21b5/模式进行单独搜索并用空格替换,就像我在之前的答案中所做的那样。

/((.|\u21b5)+?)(?:On\s+[A-Z]{3},\s+[A-Z]{3}\s+\d{1,2},\s+\d{4}\s+at\s+\d|$)/i

添加信息:

在最后一次编辑后,我会尝试将其保留,但下面是我认为对最后一个模式的重大改进。下面的模式也可以独立存在(不需要替换),但改进(我相信)是没有捕获组。返回的匹配项应该准确显示正在寻找的内容;需要拉出子匹配,如上一个示例所示。这是通过使用正向前瞻来完成的。请让我知道是否有更好的方式来表达这一点(例如在评论中)。

/(?:(?:.|\u21b5)+?)(?=(?:On\s+[A-Z]{3},\s+[A-Z]{3}\s+\d{1,2},\s+\d{4}\s+at\s+\d|$))/i

关于javascript - 想要一个正则表达式来解析带有 ↵ 字符的电子邮件回复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34706574/

相关文章:

node.js - Nodejs+webRTC 聊天网页小部件

javascript - 从位置获取值

javascript - 每次运行 datastore.runQuery : one of fields Query. 查询时都会出错,并且必须设置 Query.gql_query

javascript - XMLHttpRequest无法加载cloud 9 io

regex - Visual Studio 查找和替换正则表达式帮助

python - 在 Python 中验证名称

regex - 在 mongodb 的子文档数组上一起使用 $slice 和 $regex

javascript - 关于node.js中async.waterfall的问题

node.js - 在 WebStorm 中使用任意 NodeJS 单元测试框架进行调试

javascript - 我怎样才能找到我在 github api 上搜索的提交?