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 13:00 | Zajímavý článek Ladislav Hagara | Komentářů: 0
včera 22:33 | Nová verze

Po 3 měsících vývoje od vydání verze 14 byla vydána nová stabilní verze 15 open source systému Nextcloud, forku ownCloudu, umožňujícího provoz vlastního cloudového úložiště. Přehled novinek i s náhledy v příspěvku na blogu. Pro vyzkoušení Nextcloudu je k dispozici demo.

Ladislav Hagara | Komentářů: 4
včera 18:00 | IT novinky

Počítačová hra Doom slaví 25 let. Společností id Software ji vydala 10. prosince 1993. Zahrát si ji lze například na Internet Archive.

Ladislav Hagara | Komentářů: 11
9.12. 23:55 | Zajímavý článek

Nakladatelství Raspberry Pi vydalo 244 stránkového průvodce pro úplné začátečníky s jednodeskovým počítačem Raspberry Pi The Official Raspberry Pi Beginner’s Guide (pdf). Programování ve visuálním programovacím jazyce Scratch je věnována nová příručka Code Club Book of Scratch Volume 1 (pdf). Vydáno bylo také třetí číslo časopisu věnovaného počítačovým hrám Wireframe (pdf).

Ladislav Hagara | Komentářů: 0
9.12. 23:44 | Nová verze

U příležitosti oslav jednoho roku prací na debianím balíčku, vyšlo GPXSee 7.0. Nová verze přináší zejména podporu vektorových map (Mapbox PBF) pomocí nově vzniklého Qt pluginu.

Martin Tůma | Komentářů: 8
7.12. 23:33 | Nová verze

UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch (seznam podporovaných zařízení), oznámila vydání nové verze Ubuntu Touch OTA-6. Zdůrazněna jsou například vylepšení webového prohlížeče Morph.

Ladislav Hagara | Komentářů: 0
7.12. 21:33 | Komunita

Richard Hughes na svém blogu informuje, že se společnost AMI (American Megatrends Incorporated), největší dodavatel firmwarů a BIOSů (AMIBIOS, Aptio, ...), zapojila do projektu LVFS (Linux Vendor Firmware Service). Seznam projektem podporovaných zařízení by se měl tedy časem rozšířit.

Ladislav Hagara | Komentářů: 0
7.12. 20:11 | Komunita

Nadace pro svobodný software (FSF) informuje, že seznam doporučených svobodných distribucí GNU/Linuxu byl rozšířen o distribuci Hyperbola GNU/Linux-libre. Hyperbola vychází z Arch Linuxu a na rozdíl od něj splňuje požadovaná kritéria.

Ladislav Hagara | Komentářů: 7
7.12. 19:55 | IT novinky

Společnost Valve oznámila, že počítačová hra Counter-Strike: Global Offensive (Steam) je nově free to play. Hra Company of Heroes 2 (Steam) je do pondělí 10. prosince zdarma.

Ladislav Hagara | Komentářů: 0
7.12. 00:11 | Nová verze

Byla vydána verze 7.3.0 skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Jedná se o první stabilní verzi nejnovější větvě 7.3. Podrobný přehled novinek v seznamu změn.

Ladislav Hagara | Komentářů: 3
Chystáte se přejít na Wayland na „desktopu“?
 (25%)
 (7%)
 (11%)
 (31%)
 (25%)
Celkem 102 hlasů
 Komentářů: 14, poslední včera 12:19
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: 108×
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.