Javascript Node.js:获取电子邮件标题和正文的正则表达式
我对正则表达式知之甚少,而且我很难从电子邮件中获取所需的信息,因此我希望您能帮助我阅读以下字段:“状态”、“收件人”、“发件人”、“主题”和“正文” 使用JavaScript的最佳方式是什么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
谢谢假设这些字段与
[\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();
});