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í
×
    dnes 20:22 | Komunita

    Byly zpracovány a na YouTube zveřejněny videozáznamy z konference LinuxDays 2026.

    Ladislav Hagara | Komentářů: 0
    dnes 18:44 | Zajímavý software

    Německý startup Aleph Alpha k příležitosti výročí sjednocení Německa zveřejnil open-weight jazykový model Kolibri, vyvíjený s ohledem na unijní pojetí autorského práva, ochranu osobních údajů GDPR a nařízení EU o umělé inteligenci, jehož 'Kodexu správné praxe' je Aleph Alpha signatářem. Výsledkem tohoto přístupu je transparentnější technologie, kterou například budou moci využívat evropské veřejné instituce, ovšem za cenu

    … více »
    AfD 💙 | Komentářů: 1
    dnes 18:33 | IT novinky

    Nvidia zveřejnila návrh nové bezpečnostní platformy pro nasazování AI agentů. Jedná se o nasazení AI za použití OpenShell a Sentry, dvou oddělených bezpečnostních vrstev, v nichž může Sentry monitorovat a vyhodnocovat chování AI v OpenShellu tak, že ho v krajním případě až vypne. Mělo by to zabránit dalším únikům AI ze sandboxu.

    vencour | Komentářů: 0
    včera 11:33 | Komunita

    Přímý přenos (YouTube) z konference LinuxDays 2026, jež probíhá tento víkend v Praze v prostorách FIT ČVUT. Na programu je spousta zajímavých přednášek.

    Ladislav Hagara | Komentářů: 2
    včera 02:44 | Nová verze

    Byla vydána nová verze 0.17.0 programovacího jazyka Zig (Codeberg, Wikipedie). Přispělo 206 vývojářů. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    2.10. 21:00 | Zajímavý projekt

    Open-source projekt OpenDLSS-NR je 'bitově přesná reimplementace' neuronové rendrovací sítě DLSS 5 od společnosti NVIDIA, jenže pro grafické API Vulkan (DLSS slouží k vylepšování klasickým způsobem vyrendrovaných snímků pomocí lokálních modelů umělé inteligence, a to v reálném čase). Projekt není nijak spojen se společností NVIDIA, je pouze pro OS Windows a natrénované váhy modelu si uživatelé musí obstarat sami. Zdrojový kód je k dispozici na GitHubu, pod licencí MIT s výjimkou pro komponenty třetích stran.

    AfD 💙 | Komentářů: 0
    2.10. 20:55 | Zajímavý software

    Společnost Cloudflare představila Clef a Clef-Flash, open-source rozhodovací modely určené pro rychlou a konzistentní klasifikaci vstupů. Na rozdíl od klasických LLM vracejí tyto modely deterministické striktně typované strukturované odpovědi s exaktními pravděpodobnostmi, tedy odpovědi ve stylu přelomového modelu Jev.

    … více »
    AfD 💙 | Komentářů: 1
    2.10. 04:44 | Nová verze

    Byla vydána beta verze Ubuntu 26.10 s kódovým názvem Stonking Stingray. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 26.10 mělo vyjít 15. října 2026.

    Ladislav Hagara | Komentářů: 0
    1.10. 22:22 | Nová verze

    Byla vydána verze 1.99.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 5
    1.10. 18:11 | Komunita

    Od 13. do 15. října proběhne v Praze OpenSSL Conference 2026. Na YouTube lze zhlédnout videozáznamy přednášek z loňského roku.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2794 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: Regex na cestu k souboru v xml/cpp

    18.4.2017 20:37 דניאל | blog: godismyjudge
    Regex na cestu k souboru v xml/cpp
    Přečteno: 669×
    Potŕeboval bych poradit s regexem. Potřebuji v Qt, pomocí QRegularExpression, udělat regex, který mi v souborech najde řetězce, které jsou cesty "resource souborů" v Qt. Taková cesta má formát :/nějaká/cesta/soubor.abc. Potřebuji capture na část nějaká/cesta/soubor.abc. Problém je, že jednoduchý regex mi pak matchne v řetězci return ":/nějaká/cesta"; const char *a = ".txt"; část ":/nějaká/cesta"; const char *a = ".txt, což je špatně. Musím to tedy udělat přísněji. Cesta je buď v dvojitých uvozovkách, v jednoduchých uvozovkách, v html/xml tagu nebo v css v závorkách (např. url(:/bla/bla.abc)). A to je problém. Chtěl bych to mít jako jeden regex, kde by to bylo zkombinované. Nějak bych to nakombinoval s or operací, ale pak bych měl třeba na ":/moje/cesta.abc&t;/tag> match, což také nechci.

    Nejdále jsem se dostal k regexu (["']:\/|>\s*?:\/|\(:)(.*?)(["']|\s*?<|\)) (můžete vyzkoušet třeba na regex101.com). Jenže to matchuje i to, co nechci.
    ":/moje/cesta.abc"
    
    ':/moje/cesta.abc'
    
    <url>:/moje/cesta.abc</url>
    
    <bla><a>:/moje/cesta1.abc<b>:/moje/cesta2.abc</bla>
    
    neco: url(:/moje/cesta.abc)
    
    ":/moje/cesta.abc' // nechci match
    
    <url>:/moje/cesta.abc' // nechci match
    

    Odpovědi

    18.4.2017 20:42 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Regex na cestu k souboru v xml/cpp
    Zkus s tím souborem pracovat jako s XML - tyto problémy odpadnou.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    19.4.2017 05:58 דניאל | blog: godismyjudge
    Rozbalit Rozbalit vše Re: Regex na cestu k souboru v xml/cpp
    Neodpadnou. Jsou to soubory vícero typů (xml/ui, cpp a css), snažím se o regex, který je obslouží všechny (protože v cpp stejně můžu mít kus css či xml/html jako řetězec), pokud možno s co nejméně falešnými výsledky. Ten regex, co jsem napsal, to více méně zvládne, ale je takový ošklivý, jestli by nešel zjednodušit. Ty poslední 2 matche, které nejsou chtěné, zatím tak hrozně nevadí, ale bylo by lepší, kdyby nebyly.
    19.4.2017 07:50 NN
    Rozbalit Rozbalit vše Re: Regex na cestu k souboru v xml/cpp
    Puzil bych negativni lookahead. Nekdy je lepsi hledat podminku ktera "nevyhovuje".
    19.4.2017 09:03 ramlok0
    Rozbalit Rozbalit vše Re: Regex na cestu k souboru v xml/cpp
    hledas 4 specificke podminky - zacatek/konce matche - tohle funguje:

    (["]:\/)(.*?)(["])|([']:\/)(.*?)(['])|([>]:\/)(.*?)([<])|([(]:\/)(.*?)([)])
    19.4.2017 19:17 דניאל | blog: godismyjudge
    Rozbalit Rozbalit vše Re: Regex na cestu k souboru v xml/cpp
    Ano, matche jsou správné, ale zase tam je problém, že capture group pro tu cestu je pokaždé jiná.
    wamba avatar 19.4.2017 20:29 wamba | skóre: 38 | blog: wamba
    Rozbalit Rozbalit vše Re: Regex na cestu k souboru v xml/cpp

    Tak je lze pojmenovat. Navíc pravděpodobně půjde regexp složit s řetězců. Tak můžete napsat obdobu následujícího Perl one-lineru:

    perl -nE '
        BEGIN {
            my $cesta = ":(?<cesta>.*?)";
            our $rx= join "|", map {sprintf $_, $cesta} (q{"%s"}, q{\'%s\'}, q{>%s<}, q{\(%s\)});
            say $rx 
        };
        say $+{cesta} while /$rx/g
    ' /tmp/pom.txt             
    
    ":(?<cesta>.*?)"|':(?<cesta>.*?)'|>:(?<cesta>.*?)<|\(:(?<cesta>.*?)\)
    /moje/cesta.abc
    /moje/cesta.abc
    ...
    
    This would have been so hard to fix when you don't know that there is in fact an easy fix.
    20.4.2017 19:01 דניאל | blog: godismyjudge
    Rozbalit Rozbalit vše Re: Regex na cestu k souboru v xml/cpp
    Když tam ale mám stejné názvy, dostávám chybu "A subpattern name must be unique" :-(
    wamba avatar 20.4.2017 19:41 wamba | skóre: 38 | blog: wamba
    Rozbalit Rozbalit vše Re: Regex na cestu k souboru v xml/cpp
    v Perlu to funguje, tak je třeba odzkoušet jestli to nefunguje i v Qt a nespoléhat se na implementaci na https://regex101.com/
    This would have been so hard to fix when you don't know that there is in fact an easy fix.
    21.4.2017 13:01 RM
    Rozbalit Rozbalit vše Re: Regex na cestu k souboru v xml/cpp
    Já, pokud má být cílem minimalizovat nečitelnost (reg. výrazu), bych ty dva řádky napsal takhle (já ten sprintf nemusim;):
        $cesta = ":(?<cesta>.*?)";
        @maska=qw{ "cesta" 'cesta' >cesta< \(cesta\) };
        s/cesta/$cesta/ foreach @maska;
        $rx= join "|", @maska;
    
    20.4.2017 15:02 ramlok0
    Rozbalit Rozbalit vše Re: Regex na cestu k souboru v xml/cpp
    Ok, opraveno, ted je capture group vzdy stejna. ((["'])|(>)?|(\()?):\/(.*?)(\1|(?(1)<)|(?(1)\)))
    20.4.2017 18:58 דניאל | blog: godismyjudge
    Rozbalit Rozbalit vše Re: Regex na cestu k souboru v xml/cpp
    Teď to ale matchuje ty 2, které nechci, a naopak ty, co chci, to nematchuje. No asi to nebude tak jednoduché, jak jsem si myslel.
    ":/moje/cesta.abc'
    <url>:/moje/cesta.abc'
    
    20.4.2017 19:38 ramlok0
    Rozbalit Rozbalit vše Re: Regex na cestu k souboru v xml/cpp
    Hm, me to funguje, nemas extra mezeru za posledni zavorkou?
    wamba avatar 20.4.2017 20:08 wamba | skóre: 38 | blog: wamba
    Rozbalit Rozbalit vše Re: Regex na cestu k souboru v xml/cpp
    u mě to taky funguje, ale selže to při: <url>:/cest/a)
    This would have been so hard to fix when you don't know that there is in fact an easy fix.
    21.4.2017 19:33 דניאל | blog: godismyjudge
    Rozbalit Rozbalit vše Re: Regex na cestu k souboru v xml/cpp
    Opravdu to byla mezera na konci, omlouvám se. Teď je stále na těch 2 posledních ale match, s tím, že group 0 je :/ a ostatní jsou prázdné. Ale je to pokrok, děkuji.
    20.4.2017 20:03 Charon
    Rozbalit Rozbalit vše Re: Regex na cestu k souboru v xml/cpp
    OK, zkusil jsem pro Vás inovaci REGEX od RAMLOK.
    ((["'])|[>\(]):\/(.*?)(\2|[<\)])
    Přínosem v řešení je dekompozice stop-tokenů od match-textu. Tím vznikne kratší zápis, který je i přehlednější. Čímž neříkám, že původní zápis byl špatný. Nuže, posuďte teď můj.

    Bye.
    21.4.2017 19:41 דניאל | blog: godismyjudge
    Rozbalit Rozbalit vše Re: Regex na cestu k souboru v xml/cpp
    Tohle vypadá opravdu dobře, asi ho použiju. Regexem to asi lépe nepůjde a bez plnohodnotných parserů prostě nechtěný match bude moci nastat. To s tou \2 teď vidím poprvé, netušil jsem, že něco takového jde.

    Založit nové vlákno • Nahoru

    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.