abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 05:22 | Komunita

    Provoz Mozilla.social, tj. instance Mastodonu provozované Mozillou, bude 17. prosince 2024 ukončen.

    Ladislav Hagara | Komentářů: 0
    dnes 05:00 | Nová verze

    Byla vydána nová major verze 6 programovacího jazyka Swift (Wikipedie). Zdrojové kódy jsou k dispozici na GitHubu. Ke stažení jsou oficiální binární balíčky pro Ubuntu 20.04, Ubuntu 22.04, Ubuntu 24.04, Debian 12, Fedora 39, Amazon Linux 2 a Red Hat Universal Base Image 9.

    Ladislav Hagara | Komentářů: 0
    včera 19:00 | IT novinky

    Exploze osobních komunikačních zařízení v Libanonu zabily osm lidí, přibližně 2750 lidí je zraněno. Zhruba 200 jich je v kritickém stavu.

    Ladislav Hagara | Komentářů: 18
    včera 16:55 | Nová verze

    Byla vydána Java 23 / JDK 23. Nových vlastností (JEP - JDK Enhancement Proposal) je 12. Nová Java / JDK vychází každých 6 měsíců. LTS verze jsou 8, 11, 17 a 21 a bude 25.

    Ladislav Hagara | Komentářů: 1
    včera 16:22 | Nová verze

    Byla vydána betaverze Fedora Linuxu 41, tj. poslední zastávka před vydáním finální verze, která je naplánována na úterý 22. října. Z novinek (ChangeSet) lze vypíchnout Valkey místo nesvobodného Redisu, konec Pythonu 2, instalace proprietárních ovladačů Nvidia s podporou Secure Boot, DNF 5, RPM 4.20, KDE Plasma Mobile Spin, LXQt 2.0, …

    Ladislav Hagara | Komentářů: 1
    včera 13:11 | IT novinky

    Digitální a informační agentura (DIA) přebírá od 1. listopadu správu Registru obyvatel a Registru osob. Převodem pokračuje postupné soustřeďování sdílených informačních systémů státu pod DIA (𝕏).

    Ladislav Hagara | Komentářů: 3
    včera 13:00 | IT novinky

    Společnost Apple vydala nové verze operačních systémů pro svá zařízení: macOS 15 Sequoia, iPadOS 18, tvOS 18, visionOS 2, watchOS 11 a iOS 18.

    Ladislav Hagara | Komentářů: 7
    včera 01:22 | Komunita

    Konsorcium Linux Foundation představilo svůj nejnovější projekt s názvem OpenSearch Software Foundation zastřešující další vývoj OpenSearch a OpenSearch Dashboards. OpenSearch je forkem vyhledávače Elasticsearch a OpenSearch Dashboards je forkem souvisejícího nástroje pro vizualizaci dat Kibana. V roce 2021 přešly projekty Elasticsearch a Kibana z licence Apache 2.0 na duální licencování pod Server Side Public License (SSPL) a

    … více »
    Ladislav Hagara | Komentářů: 0
    16.9. 18:33 | Nová verze Ladislav Hagara | Komentářů: 0
    16.9. 12:55 | Zajímavý projekt

    TamaGo je open source framework pro programování ARM a RISC-V systémů na čipu (SoC) v programovacím jazyce Go. Prezentace projektu z OSFC (Open Source Firmware Conference) v pdf na GitHubu.

    Ladislav Hagara | Komentářů: 0
    Rozcestník

    Dotaz: regularni vyrazy a makra

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

    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.