abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

    včera 18:33 | Nová verze

    Operační systém MidnightBSD, fork FreeBSD optimalizovaný pro desktop s prostředím Xfce, byl vydán ve verzi 3.0. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 2
    včera 18:22 | IT novinky

    Na GOG.com běží Spring Sale. Při té příležitosti lze získat zdarma počítačovou hru Neurodeck: Psychological Deckbuilder (ProtonDB).

    Ladislav Hagara | Komentářů: 1
    25.3. 12:33 | Komunita

    Alex Ellis upozornil 15. března, že firma Docker se chystala zrušit bezplatný hosting open-source projektů na Docker Hubu. Po vlně odporu se představitelé firmy omluvili a posléze byl původní záměr odvolán.

    Fluttershy, yay! | Komentářů: 28
    25.3. 07:00 | IT novinky

    Ve věku 94 let zemřel Gordon Moore, mj. spoluzakladatel společnosti Intel a autor Moorova zákona.

    Ladislav Hagara | Komentářů: 1
    24.3. 17:11 | Nová verze

    Mercurial (Wikipedie), software pro SCM (Source Code Management), byl vydán ve verzi 6.4. Přehled novinek v poznámkách k vydání. Ve dnech 5. až 7. dubna proběhne konference Mercurial Paris.

    Ladislav Hagara | Komentářů: 0
    24.3. 11:55 | IT novinky

    Byly rozdány Ceny Velkého bratra (Big Brother Awards) za rok 2022 pro největší slídily pořádané nevládní organizací Iuridicum Remedium. Dlouhodobý slídil: Microsoft. Firemní slídil: Seznam. Úřední slídil: Nejvyšší správní soud. Výrok Velkého bratra: Marian Jurečka. Pozitivní cena: NoLog.

    Ladislav Hagara | Komentářů: 11
    24.3. 11:11 | Zajímavý projekt

    Byla představena online vzdělávací platforma Ada Computer Science pro učitele, studenty a kohokoli, kdo se zajímá o informatiku. Stojí za ní Raspberry Pi Foundation a Univerzita v Cambridgi.

    Ladislav Hagara | Komentářů: 0
    24.3. 09:11 | Bezpečnostní upozornění

    GitHub má nový RSA SSH klíč. Předchozí soukromý klíč byl krátce vystaven na GitHubu.

    Ladislav Hagara | Komentářů: 0
    24.3. 08:55 | IT novinky

    Společnost Framework Computer představila (YouTube) nové modulární notebooky: Laptop 13 s Intel Core nebo AMD Ryzen a Laptop 16 (YouTube).

    Ladislav Hagara | Komentářů: 0
    23.3. 19:33 | Nová verze

    Bylo vydáno Ubuntu 20.04.6 LTS, tj. šesté opravné vydání Ubuntu 20.04 LTS s kódovým názvem Focal Fossa. Přehled novinek v poznámkách k vydání a v přehledu změn.

    Ladislav Hagara | Komentářů: 2
    Používáte WSL (Windows Subsystem for Linux)?
     (74%)
     (12%)
     (4%)
     (10%)
    Celkem 329 hlasů
     Komentářů: 4, poslední 24.3. 06:42
    Rozcestník


    Dotaz: regularni vyrazy a makra

    24.2.2011 13:28 midnighter
    regularni vyrazy a makra
    Přečteno: 176×

    Mam nasledujici problem Chci pouzit makra na sestaveni sloziteho regularniho vyrazu napr

    #define TCAT(x,y) x()y #define CAT(x,y) TCAT(x,y)
    #define _ALPHA_ a-ZA-Z #define _DIGIT_ 0-9
    #define _ALPHADIGIT_ CAT(_ALPHA_,_DIGIT_)

    vsechno funguje dokud se do hry nezapoji specialni znaky.Napr chci udelat

    #define _UNRESERVED_ CAT(_ALPHA_,_DIGIT_)\\-\\.\\_\\~

    coz spravne vyhazuje:

    a-ZA-Z()0-9\-\.\_\~

    jenomze pri vetsim zanoreni napr:

    #define _GEN_DELIMS_ \\:\\\/\\?\\#\\[\\]\\@
    #define _X_ CAT(_GEN_DELIMS_,_UNRESERVED_)

    to uz haze chybu protoze to odparsuje ty "\". A protoze se jedna o regularni vyrazy, nemuzu vlozit misto konkatenace maker mezeru

    Netusi nekdo jak by se to dalo vyresit?

    Řešení dotazu:


    Odpovědi

    24.2.2011 13:35 JS
    Rozbalit Rozbalit vše Re: regularni vyrazy a makra
    Mozna ty podvyrazy strcit do uvozovek a vyuzit toho, ze C konkatenuje retezove literaly?
    24.2.2011 14:20 chochi | skóre: 29 | Praha
    Rozbalit Rozbalit vše Re: regularni vyrazy a makra
    Nejake nechapu kde je problem:
    
    $ cat t.c
    #define TCAT(x,y) x()y
    #define CAT(x,y) TCAT(x,y) 
    #define _ALPHA_ a-ZA-Z
    #define _DIGIT_ 0-9
    #define _ALPHADIGIT_ CAT(_ALPHA_,_DIGIT_)
    #define _UNRESERVED_ CAT(_ALPHA_,_DIGIT_)\\-\\.\\_\\~
    #define _GEN_DELIMS_ \\:\\\/\\?\\#\\[\\]\\@
    #define _X_ CAT(_GEN_DELIMS_,_UNRESERVED_)
    
    _UNRESERVED_
    _X_
    $ gcc -E t.c -o -
    # 1 "t.c"
    # 1 "<built-in>"
    # 1 "<command-line>"
    # 1 "t.c"
    # 10 "t.c"
    a-ZA-Z()0-9\\-\\.\\_\\~
    \\:\\\/\\?\\#\\[\\]\\@()a-ZA-Z()0-9\\-\\.\\_\\~
    
    
    Řešení 1× (midnighter (tazatel))
    25.2.2011 07:58 midnighter
    Rozbalit Rozbalit vše Re: regularni vyrazy a makra
    [VYRESENO] Tak problem jsem nakonec vyresil tim ze sem makra dal do retezcu a nechal je konkatenovat. Diky za tip.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.