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 02:11 | IT novinky Ladislav Hagara | Komentářů: 0
    včera 19:11 | Zajímavý projekt

    Fugleramme, v překladu 'ptačí rámeček', je open-source projekt postavený na Raspberry Pi, který pomocí lokální umělé inteligence BirdNET-Go rozpoznává ptačí druhy podle jejich zpěvu a na displeji následně zobrazuje koláž tvořenou odpovídajícími ilustracemi. Databáze obsahuje přes 800 ručně vybraných historických přírodovědných ilustrací více než 400 druhů ptáků.

    … více »
    AfD 💙 | Komentářů: 0
    včera 16:55 | Nová verze

    Unicode Consortium, nezisková organizace koordinující rozvoj standardu Unicode, oznámila vydání Unicode 18.0. Přidáno bylo 13 007 nových znaků. Celkově jich je 172 808. Přibylo 9 nových Emoji.

    Ladislav Hagara | Komentářů: 2
    včera 13:22 | Zajímavý článek

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 169 (pdf).

    Ladislav Hagara | Komentářů: 0
    včera 03:33 | Nová verze

    Byla vydána nová verze 6.4 programovacího jazyka Swift (Wikipedie). Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 0
    17.9. 23:11 | Komunita

    Německý kancléř Friedrich Merz (CDU) se během debaty s finalisty studentské vědecké soutěže Jugend forscht vyjádřil pro konec anonymity na internetu a vyslovil názor, že pro uživatele Internetu by měla platit podobná právní odpovědnost jako pro novináře tradičních médií. Na dotaz studenta, jak by se tedy povinnost uvádět pravé jméno slučovala s prací investigativních novinářů nebo ochranou jejich zdrojů, Merz neodpověděl, ve své

    … více »
    AfD 💙 | Komentářů: 30
    17.9. 17:55 | IT novinky

    Společnost Fujitsu představila FUJITSU-MONAKA CPU a Fujitsu MONAKA Server. Navrženo, vyvinuto a vyrobeno v Japonsku. Pro suverénní AI infrastrukturu.

    Ladislav Hagara | Komentářů: 0
    17.9. 16:44 | IT novinky

    Předprodej v květnu představených notebooků Googlebook, nástupců notebooků Chromebook, bude spuštěn v pondělí 21. září.

    Ladislav Hagara | Komentářů: 4
    16.9. 23:22 | Nová verze

    Byla vydána betaverze Fedora Linuxu 45 (ChangeSet), tj. poslední zastávka před vydáním finální verze, která je naplánována na úterý 20. října. S konzolí kmscon místo fbcon. Současně byla vydána betaverze Fedora Linux Asahi Remixu 45. S podporou čipů M3.

    Ladislav Hagara | Komentářů: 4
    16.9. 21:44 | Nová verze

    Po půl roce vývoje od vydání verze 50 bylo vydáno GNOME 51 s kódovým názvem "A Coruña" (Mastodon). Podrobný přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře. Videopředstavení na PeerTube a YouTube.

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

    Dotaz: Hladové regexpy

    6.1.2005 16:32 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
    Hladové regexpy
    Přečteno: 326×
    DD,

    mám otázku ohledně Perlu. V jakém pořadí vyhodnocuje logickým NEBO spojený výraz? Příklad:
    if ("te tea teta" =~ /(t|te).*/) {
    	print $1;
    } else {
    	print "NE";
    }
    vrátí "t". Jaktože ale zde neplatí "hladové" pravidlo, kdy se Perl snaží vyhovět co nejširší odpovědi?

    Druhá otázka. Je někde stanoveno, jakým směrem má vybírat při postupu? Myslím tím, jestliže kdybych seřadil ten regulární výraz od nejdelšího k nejkratšímu (te|t), tak jestlipak budu mít zaručeno, že se dříve najde "te"?

    Snad jsem k pochopení :-)

    Odpovědi

    6.1.2005 16:41 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
    Rozbalit Rozbalit vše Re: Hladové regexpy
    Teda abych se vymáčk...

    Potřebuji sestrojit regexp, který by mi našel nejdelší přefix pro určité slovo. Například pro slovo "vykopat" by hledal předpony "v, vy, vyko" a našel by tu nejdelší - vyko.

    Jelikož by to šlo řešit regulárním automatem, tak by to snad mělo jít i řešit regulárním výrazem... :-)
    6.1.2005 17:23 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: Hladové regexpy
    OR matchuje kdo první přijde, první mele.
    6.1.2005 17:27 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: Hladové regexpy
    Další možnost je (v(y(ko)?)?), ale vnitřní skupiny by musely být nečíslované, aby se v tom vyznalo alespoň prase, což v perlu nevím z hlavy, ale je to v manu (proč sakra perl nemá v regulárních výrazech pojmenované skupiny jako python?).
    6.1.2005 17:28 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše Re: Hladové regexpy
    A přitom (e)grep se chová jinak :-(
    $ echo "ahoj vole" | perl -e 'if (<> =~ /^(a|ah|aho|ahoj)/) {print "$1\n";}'
    a
    $ echo "ahoj vole" | grep -Eo '^(a|ah|aho|ahoj)'
    ahoj
    
    6.1.2005 17:34 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: Hladové regexpy
    Tak to je rána pod pás, myslel jsem, že je to tak všude...

    Python, vim -- kdo první přijde.

    sed -- nejdelší (bez -r i s ním).
    6.1.2005 18:04 ivok
    Rozbalit Rozbalit vše Re: Hladové regexpy
    Ale muzete ho taky prinutit, aby se choval stejne :-)
    [ivok@zero ivok]$ echo "ahoj vole" | grep -Po '(a|ah|aho|ahoj)'
    a
    
    6.1.2005 17:32 ivok
    Rozbalit Rozbalit vše Re: Hladové regexpy
    kousek z man perlre
    Alternatives are tried from left to right, so the first alternative
    found for which the entire expression matches, is the one that is cho-
    sen. This means that alternatives are not necessarily greedy. For exam-
    ple: when matching "foo|foot" against "barefoot", only the "foo" part
    will match, as that is the first alternative tried, and it successfully
    matches the target string. (This might not seem important, but it is
    important when you are capturing matched text using parentheses.)
    
    experimenátlní potvrzení :-)

    [ivok@zero ivok]$ perl -e 'print "$1\n" if ("te tea teta" =~ /(te|t)/)'
    te
    [ivok@zero ivok]$ perl -e 'print "$1\n" if ("te tea teta" =~ /(t|te)/)'
    t
    
    takže: ano, není to greedy, a ano, máte zaručeno, že se matchuje v alternativách zleva doprava. aspoň v té verzi perlu, co tu mám já (5.8.5) :-)

    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.