Node.js: Expression Régulière Pour Obtenir “From: ” et“: ”
Compte tenu de ce fichier texte:
Received: from unknown (HELO aws-bacon-delivery-svc-iad-1007.vdc.g.com) ([10.146.157.151])
by na-mm-outgoing-6102-bacon.iad6.g.com with ESMTP; 12 Apr 2011 14:30:47 +0000
Return-Path: 0000012f4a2a0037-528dbafb-e773-44be-bef5-07d8f63e6aee-000000@email-bounces.g.com
Date: Tue, 12 Apr 2011 14:42:37 +0000
From: xxx@xxx.example.com
To: yyy@yyy.example.com
Message-ID: <0000012f4a2a0037-528dbafb-e773-44be-bef5-07d8f63e6aee-000000@email.g.com>
Subject: test
Mime-Version: 1.0
Content-Type: text/plain;
charset=UTF-8
Content-Transfer-Encoding: 7bit
X-AWS-Outgoing: 199.255.192.79
testing123
Je veux obtenir tous les champs (chemin de Retour, de la Date, De, À, etc.) ainsi que le corps ("testing123).
J'ai essayé correspondant à l'aide de:
var bodyRegex = /[\n]Subject: (.+)[\n](.+)/
mais j'obtiens la valeur est vide.
OriginalL'auteur donald | 2011-04-15
Vous devez vous connecter pour publier un commentaire.
Essayez ceci:
Code:
Résultat:
OriginalL'auteur Dmitrij Golubev
Cette question était juste suggéré pour moi (même si c'est vieux!?) et je pense que l'on a accepté la réponse ne correspond pas exactement à faire ce qui était demandé pour (obtenir tous les domaines + corps), donc je pense que je vais partager cette...
Pour obtenir à chaque en-tête et de sa valeur, il y a un très simple regex (http://regexr.com/3e60k) avec deux groupes de capture, qui permet aussi à des sauts de ligne dans une valeur (si retrait):
Les paires peuvent être récupérées comme
C'est encore plus simple pour obtenir le corps (http://regexr.com/3e60h), car il doit être séparé de la tête à deux caractères de nouvelle ligne:
Qui correspond à quoi que ce soit après les deux
\n
(les espaces et les non-blanc).Voir ce violon pour un exemple complet: http://es6fiddle.net/issocwc9/
OriginalL'auteur Simon Hänisch