Javascript Node.js:获取电子邮件标题和正文的正则表达式

Javascript Node.js:获取电子邮件标题和正文的正则表达式,javascript,regex,node.js,Javascript,Regex,Node.js,我对正则表达式知之甚少,而且我很难从电子邮件中获取所需的信息,因此我希望您能帮助我阅读以下字段:“状态”、“收件人”、“发件人”、“主题”和“正文” 使用JavaScript的最佳方式是什么 谢谢假设这些字段与 [\n]发件人:[……][\n] 然后一个表情像 /[\n](发件人:).+[\n]/ 我会为你工作的。将(从:)替换为(日期:)等 并使用string.match(regExp) 更新: var bodyRegex = /[\n] Subject: (.+)[\n](.+)/ var

我对正则表达式知之甚少,而且我很难从电子邮件中获取所需的信息,因此我希望您能帮助我阅读以下字段:“状态”、“收件人”、“发件人”、“主题”和“正文”

使用JavaScript的最佳方式是什么


谢谢

假设这些字段与

[\n]发件人:[……][\n]

然后一个表情像

/[\n](发件人:).+[\n]/

我会为你工作的。将(从:)替换为(日期:)等

并使用
string.match(regExp)

更新:

var bodyRegex = /[\n] Subject: (.+)[\n](.+)/
var string = ...;
var result = string.match(bodyRegex);
result[1]; // Subject
result[2]; // Body

正则表达式可能不是执行此任务的最佳工具。你真正想要的是,尤其是因为你想提取正文——如果你看一下,你会发现解析电子邮件(文本编码、MIME等)涉及到很多复杂性

使用mailparser:

var mailparser = require("./mailparser"),
    fs = require("fs"),
    sys = require("sys");

fs.readFile('mail.txt', function (err, data) {
    if (err) throw err;

    var mp = new mailparser.MailParser();

    // callback for the headers object
    mp.on("headers", function(headers){
        console.log("HEADERS");
        console.log(sys.inspect(headers, false, 5));
    });

    // callback for the body object
    mp.on("body", function(body){
        console.log("BODY");
        console.log(sys.inspect(body, false, 7));
    });

    mp.feed(data.toString("ascii"));
    mp.end();
});
var mailparser = require("./mailparser"),
    fs = require("fs"),
    sys = require("sys");

fs.readFile('mail.txt', function (err, data) {
    if (err) throw err;

    var mp = new mailparser.MailParser();

    // callback for the headers object
    mp.on("headers", function(headers){
        console.log("HEADERS");
        console.log(sys.inspect(headers, false, 5));
    });

    // callback for the body object
    mp.on("body", function(body){
        console.log("BODY");
        console.log(sys.inspect(body, false, 7));
    });

    mp.feed(data.toString("ascii"));
    mp.end();
});