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í
×
    25.5. 19:00 | Zajímavý projekt

    Na crowdsourcingové platformě Crowd Supply byla spuštěna kampaň na podporu open source biometrického monitoru ve tvaru hodinek HealthyPi Move. Cena je 249 dolarů a plánovaný termín dodání listopad letošního roku.

    Ladislav Hagara | Komentářů: 11
    24.5. 22:22 | Upozornění Ladislav Hagara | Komentářů: 9
    24.5. 17:44 | Nová verze

    Firma Murena představila /e/OS verze 2.0. Jde o  alternativní sestavení Androidu bez aplikací Google. Mezi novinkami je podrobnější nastavení ochrany soukromí před sledováním aplikacemi. Murena prodává několik smartphonů s předinstalovaným /e/OS (Fairphone, repasovaný Google Pixel 5).

    Fluttershy, yay! | Komentářů: 0
    24.5. 14:33 | Zajímavý software

    Do 30. května lze v rámci akce Warhammer Skulls 2024 získat na Steamu zdarma hru Warhammer 40,000: Gladius - Relics of War.

    Ladislav Hagara | Komentářů: 1
    24.5. 13:33 | Nová verze

    HelenOS (Wikipedie), tj. svobodný operační systém českého původu založený na architektuře mikrojádra, byl vydán ve verzi 0.14.1. Přehled novinek v poznámkách k vydání. Vypíchnou lze nabídku Start. Videopředstavení na YouTube.

    Ladislav Hagara | Komentářů: 3
    23.5. 23:22 | Zajímavý software

    BreadboardOS je firmware pro Raspberry Pi Pico (RP2040) umožňující s tímto MCU komunikovat pomocí řádkového rozhraní (CLI). Využívá FreeRTOS a Microshell.

    Ladislav Hagara | Komentářů: 0
    23.5. 16:55 | Nová verze

    Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 24.05. Přehled novinek i s náhledy a videi v oficiálním oznámení. Do balíku se dostalo 5 nových aplikací: Audex, Accessibility Inspector, Francis, Kalm a Skladnik.

    Ladislav Hagara | Komentářů: 13
    23.5. 12:55 | Nová verze

    Byla vydána (𝕏) nová verze 18.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    22.5. 23:44 | Pozvánky

    V neděli 26. května lze navštívit Maker Faire Rychnov nad Kněžnou, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    22.5. 16:33 | Nová verze

    Byla vydána nová stabilní verze 3.20.0, tj. první z nové řady 3.20, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Z novinek lze vypíchnou počáteční podporu 64bitové architektury RISC-V.

    Ladislav Hagara | Komentářů: 0
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (88%)
     (3%)
     (5%)
     (5%)
    Celkem 776 hlasů
     Komentářů: 16, poslední 14.5. 11:05
    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: 138×
    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.