boost::regex - Problem mit RegAusdruck und allgemeine boost::regex Fragen



  • **EDIT2:
    Hat sich erledigt .... hab mir selbst was gebastelt ^^
    **

    Moin,
    ich habe momentan ein paar Probleme mit boost::regex und bräuchte da eure Hilfe.
    Aber vielleicht erklär ich fürs Verständnis erstmal was ich überhaupt vor hab 😉

    Also ich habe eine eMail im eml-Textvormat. Desweiteren handelt es sich um eine MIME multi-part Mail.
    Ich würde gern zwei Blöcke aus der eMail extrahieren: Einmal die Nachricht im Plain Text und einmal die Nachricht als HTML.

    So sieht jetzt eine Beispielmail aus:

    Return-Path: <XXXX@gmx.de>
    X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on hostname
    X-Spam-Level: 
    X-Spam-Status: No, score=0.0 required=5.0 tests=HTML_MESSAGE autolearn=ham
    	version=3.2.5
    X-Original-To: XXXX@XXXX.me
    Delivered-To: XXXX@XXXX.de
    Received: from mail.gmx.net (mail.gmx.net [213.165.64.20])
    	by www.XXXX.de (Postfix) with SMTP id 18CB91CED077
    	for <XXXX@XXXX.me>; Wed,  5 Aug 2009 12:26:54 +0200 (CEST)
    Received: (qmail invoked by alias); 05 Aug 2009 10:26:53 -0000
    Received: from XXXX.dip.t-dialin.net (EHLO XXXX) [XXXX]
      by mail.gmx.net (mp025) with SMTP; 05 Aug 2009 12:26:53 +0200
    X-Authenticated: #24602672
    X-Provags-ID: V01U2FsdGVkX19krwVc8PZkC5H8E4Z0aTMFNm5aMvcMcAi0ScWMtz
    	ueDGHGfSKd0fIW
    Message-ID: <6760F6E72974413E9FE85AF82591A8C1@wg.local>
    From: "XXXX" <XXXX@gmx.de>
    To: "XXXX" <XXXX@XXXX.me>
    Subject: Mustermail
    Date: Wed, 5 Aug 2009 12:26:52 +0200
    Organization: XXXX
    MIME-Version: 1.0
    Content-Type: multipart/alternative;
    	boundary="----=_NextPart_000_0100_01CA15C8.03765690"
    X-Priority: 3
    X-MSMail-Priority: Normal
    X-Mailer: Microsoft Outlook Express 6.00.2900.5512
    X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579
    X-Y-GMX-Trusted: 0
    X-FuHaFi: 0.82,0.8100000000000001
    X-Virus-Status: No
    X-Virus-Checker-Version: clamassassin 1.2.4 with clamscan / ClamAV 0.95.1/9656/Wed Aug  5 05:37:12 2009
    
    This is a multi-part message in MIME format.
    
    ------=_NextPart_000_0100_01CA15C8.03765690
    Content-Type: text/plain;
    	charset="iso-8859-1"
    Content-Transfer-Encoding: quoted-printable
    
    Hallo XXXX,
    das hier soll eine Muster-E-Mail sein, damit du mal was Ordentliches zum =
    Analysieren hast ;)
    Viel Erfolg,
    XXXX
    ------=_NextPart_000_0100_01CA15C8.03765690
    Content-Type: text/html;
    	charset="iso-8859-1"
    Content-Transfer-Encoding: quoted-printable
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML><HEAD>
    <META content=3D"text/html; charset=3Diso-8859-1" =
    http-equiv=3DContent-Type>
    <META name=3DGENERATOR content=3D"MSHTML 8.00.6001.18812">
    <STYLE></STYLE>
    </HEAD>
    <BODY bgColor=3D#ffffff>
    <DIV><FONT size=3D2 face=3DArial>Hallo XXXX,</FONT></DIV>
    <DIV><FONT size=3D2 face=3DArial>das hier soll eine Muster-E-Mail sein, =
    damit du mal=20
    was Ordentliches zum Analysieren hast ;)</FONT></DIV>
    <DIV><FONT size=3D2 face=3DArial>Viel Erfolg,</FONT></DIV>
    <DIV><FONT size=3D2 face=3DArial>XXXX</FONT></DIV></BODY></HTML>
    
    ------=_NextPart_000_0100_01CA15C8.03765690--
    

    Ich dachte mir, dass ich mir im Header "boundary" auslese und dann so dann weitergehend die beiden Blöcke (also einmal zeile 42-46 und einmal 52-65) ermitteln könnte.

    Leider scheitert es jetzt schon am boundary.
    Hatte mir als Regulären Ausrdruck

    /^\tboundary="([^"]+)"$/
    

    überlegt aber den mag der Compiler natürlich wegen der " drinnen nicht.
    Leider bin ich auch etwas mit der boost::regex Doku überfordert... imo etwas unübersichtlich ^^ ... naja ich finde nich wie ich denn " maskieren könnte und auch nicht wirklich wie ich dann den Inhalt zwischen den " " bekomme ....

    Würde mich sehr über eure Hilfestellung freuen.
    Vielen Danke schonmal 🙂

    Edit:
    Benutze übrigens Microsoft Visual C++ Express Edition


Anmelden zum Antworten