Likes Likes:  0
Resultaten 1 tot 4 van de 4
Geen

Onderwerp: help bij regexps

  1. #1
    Jan Smeelen
    help bij regexps
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    help bij regexps

    Ik ben niet sterk in regexps,
    echter hoop ik dat er hier wel
    kenners zijn, die me kunnen helpen )

    Probleempje :
    Bijv.

    From:"Jan \"Sm,eelen\""<jan@geenreclamesmeelenxx.rommel> ,"Piet "
    <piet@geenreclamesmeelenxx.rommel>

    mogelijk staan er dubbele < voor het e-mail adres,
    dat heb ik gedaan omdat Outlook er uiteraard weer eens
    een links van maakt

    Nu wil uit die regel beiden Namen en mail-adressen apart hebben.

    Ik denk dat dit het beste kan met regexps immers kan ik
    niet splitten op "," ( staat in dit voorbeeld namelijk ook
    in de 1e afzender naam ) en ook niet op de "

    Dank voor de hulp !
    Jan.




  2. #2
    Daniel Tryba
    help bij regexps
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: help bij regexps

    Jan Smeelen <smeelen@friaco.nl> wrote:
    > From:"Jan \"Sm,eelen\""<jan@geenreclamesmeelenxx.rommel> ,"Piet "
    > <piet@geenreclamesmeelenxx.rommel>
    >
    > mogelijk staan er dubbele < voor het e-mail adres,
    > dat heb ik gedaan omdat Outlook er uiteraard weer eens
    > een links van maakt
    >
    > Nu wil uit die regel beiden Namen en mail-adressen apart hebben.
    >
    > Ik denk dat dit het beste kan met regexps immers kan ik
    > niet splitten op "," ( staat in dit voorbeeld namelijk ook
    > in de 1e afzender naam ) en ook niet op de "


    Aangezien tussen de (optionele) quotes voor <> zowat alles mogelijk is
    lijkt me een regexp verzinnen hiervoor tamelijk ingewikkeld. IMHO kan je
    beter door de string wandelen en al quotes, commas en <> tellend de zut
    uitelkaar rukken.

    BTW als je het toevallig in PHP wilt doen dan kan je wellicht iets met
    de functie imap_rfc822_parse_headers...

    --

    Daniel Tryba


  3. #3
    John Bokma
    help bij regexps
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: help bij regexps

    Jan Smeelen wrote:

    > Ik ben niet sterk in regexps,
    > echter hoop ik dat er hier wel
    > kenners zijn, die me kunnen helpen )
    >
    > Probleempje :
    > Bijv.
    >
    > From:"Jan \"Sm,eelen\""<jan@geenreclamesmeelenxx.rommel> ,"Piet "
    > <piet@geenreclamesmeelenxx.rommel>
    >
    > mogelijk staan er dubbele < voor het e-mail adres,
    > dat heb ik gedaan omdat Outlook er uiteraard weer eens
    > een links van maakt
    >
    > Nu wil uit die regel beiden Namen en mail-adressen apart hebben.
    >
    > Ik denk dat dit het beste kan met regexps immers kan ik
    > niet splitten op "," ( staat in dit voorbeeld namelijk ook
    > in de 1e afzender naam ) en ook niet op de "
    >
    > Dank voor de hulp !
    > Jan.


    my (@email) = $str =~ /(<([^>]+)>/g;

    Is een van de mogelijkheden

    John

    --
    email: mail(at)johnbokma.com (or reply) home: http://johnbokma.com/
    UI design tips: http://johnbokma.com/websitedesign/ ~ ICQ 218175426

    zwemvlies verzoekschrift ontwikkeling op maat


  4. #4
    John Bokma
    help bij regexps
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: help bij regexps

    John Bokma wrote:

    > Jan Smeelen wrote:
    >
    >> Ik ben niet sterk in regexps,
    >> echter hoop ik dat er hier wel
    >> kenners zijn, die me kunnen helpen )
    >>
    >> Probleempje :
    >> Bijv.
    >>
    >> From:"Jan \"Sm,eelen\""<jan@geenreclamesmeelenxx.rommel> ,"Piet "
    >> <piet@geenreclamesmeelenxx.rommel>
    >>
    >> mogelijk staan er dubbele < voor het e-mail adres,
    >> dat heb ik gedaan omdat Outlook er uiteraard weer eens
    >> een links van maakt
    >>
    >> Nu wil uit die regel beiden Namen en mail-adressen apart hebben.
    >>
    >> Ik denk dat dit het beste kan met regexps immers kan ik
    >> niet splitten op "," ( staat in dit voorbeeld namelijk ook
    >> in de 1e afzender naam ) en ook niet op de "
    >>
    >> Dank voor de hulp !
    >> Jan.

    >
    >
    > my (@email) = $str =~ /(<([^>]+)>/g;
    >
    > Is een van de mogelijkheden


    Ah, niet goed gelezen :-).

    \" = escape, je zou die kunnen omzetten naar \000 :

    $str =~ s/\\\"/\000/g; # uit mijn hoofd
    my(@names) = $str =~ /(\"([^\"]+)\"/g; # dit kan leesbaarder :-)

    En dan @names = map { s/\000/\"/g } @names; # uit mijn hoofd

    Deze en de vorige moet je nog combineren, let op dat je from
    bv@bla.invalid kan hebben zonder name...

    John


    --
    email: mail(at)johnbokma.com (or reply) home: http://johnbokma.com/
    UI design tips: http://johnbokma.com/websitedesign/ ~ ICQ 218175426

    zwemvlies verzoekschrift ontwikkeling op maat


Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2026 Webhostingtalk.nl.
Web Statistics