2012-03-20 3 views
2

Une signature exemple peut être:Quelle serait une bonne expression rationnelle pour identifier le préfixe "message d'origine" dans gmail?

On Tue, Mar 20, 2012 at 2:38 PM, Johnny Walker <[email protected]> wrote: 

Et suit alors la réponse citée. J'ai une sensation discrète c'est spécifique à la région mais cela me rend un programmeur triste.

La raison pour laquelle je demande cela est parce que roundup ne les dépouille pas correctement lors de la réponse à un problème via gmail. Et je pense que origmsg_re est la variable config.ini que j'ai besoin de mettre à côté de keep_quoted_text = no pour résoudre ce problème.

En ce moment, il est la valeur par défaut origmsg_re = ^[>|\s]*-----\s?Original Message\s?-----$

Edit: Maintenant, je suis en utilisant origmsg_re = ^On[^<]+<[email protected]+>[ \n]wrote:[\n] qui travaille avec certains clients gmail qui cassent les lignes trop longues.

Répondre

1

L'expression régulière suivante correspond au préfixe gmails d'une manière plutôt sûre. Il assure qu'il ya trois virgules et le texte litre On ... a écrit

On([^,]+,){3}.*?wrote: 

Si l'expression rationnelle doit correspondre dans un cas insensitve façon alors ne pas oublier d'ajouter le modificateur.

if re.search("On([^,]+,){3}.*?wrote:", subject, re.IGNORECASE): 
    # Successful match 
else: 
    # Match attempt failed 

Cordialement, Buckley

Match the characters “On” literally «On» 
Match the regular expression below and capture its match into backreference number 1 «([^,]+,){3}» 
    Exactly 3 times «{3}» 
    Note: You repeated the capturing group itself. The group will capture only the last iteration. Put a capturing group around the repeated group to capture all iterations. «{3}» 
    Match any character that is NOT a “,” «[^,]+» 
     Between one and unlimited times, as many times as possible, giving back as needed (greedy) «+» 
    Match the character “,” literally «,» 
Match any single character that is not a line break character «.*?» 
    Between zero and unlimited times, as few times as possible, expanding as needed (lazy) «*?» 
Match the characters “wrote:” literally «wrote:» 

Created with RegexBuddy 
+0

Merci, j'ai finalement utilisé ce bien: 'origmsg_re =^On + <[email protected]+> a écrit:. $' – ubershmekel

Questions connexes