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 14:33 | Nová verze

    K 1. lednu 2026 končí 70leté omezení majetkových autorských práv děl autorů zesnulých v roce 1955, viz 2026 in public domain. V americkém prostředí vstupují do public domain díla z roku 1930, viz Public Domain Day.

    |🇵🇸 | Komentářů: 1
    včera 15:00 | Nová verze

    Všem vše nejlepší do nového roku 2026.

    Ladislav Hagara | Komentářů: 9
    včera 13:33 | Zajímavý software

    Crown je multiplatformní open source herní engine. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT a GPLv3+. Byla vydána nová verze 0.60. Vyzkoušet lze online demo.

    Ladislav Hagara | Komentářů: 0
    včera 12:11 | Zajímavý článek

    Daniel Stenberg na svém blogu informuje, že po strncpy() byla ze zdrojových kódů curlu odstraněna také všechna volání funkce strcpy(). Funkci strcpy() nahradili vlastní funkcí curlx_strcopy().

    Ladislav Hagara | Komentářů: 5
    včera 03:00 | Nová verze

    Byla vydána nová verze 25.12.30 svobodného multiplatformního video editoru Shotcut (Wikipedie) postaveného nad multimediálním frameworkem MLT. Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.

    Ladislav Hagara | Komentářů: 0
    30.12. 18:55 | IT novinky

    Společnost Valve publikovala přehled To nej roku 2025 ve službě Steam aneb ohlédnutí za nejprodávanějšími, nejhranějšími a dalšími nej hrami roku 2025.

    Ladislav Hagara | Komentářů: 0
    30.12. 16:11 | Komunita

    Byly publikovány výsledky průzkumu mezi uživateli Blenderu uskutečněného v říjnu a listopadu 2025. Zúčastnilo se více než 5000 uživatelů.

    Ladislav Hagara | Komentářů: 0
    30.12. 03:33 | Bezpečnostní upozornění

    V dokumentově orientované databázi MongoDB byla nalezena a v upstreamu již opravena kritická bezpečností chyba CVE-2025-14847 aneb MongoBleed.

    Ladislav Hagara | Komentářů: 0
    29.12. 23:11 | IT novinky

    Při úklidu na Utažské univerzitě se ve skladovacích prostorách náhodou podařilo nalézt magnetickou pásku s kopií Unixu V4. Páska byla zaslána do počítačového muzea, kde se z pásky úspěšně podařilo extrahovat data a Unix spustit. Je to patrně jediný známý dochovaný exemplář tohoto 52 let starého Unixu, prvního vůbec programovaného v jazyce C.

    NUKE GAZA! 🎆 | Komentářů: 18
    29.12. 15:55 | Komunita

    FFmpeg nechal kvůli porušení autorských práv odstranit z GitHubu jeden z repozitářů patřících čínské technologické firmě Rockchip. Důvodem bylo porušení LGPL ze strany Rockchipu. Rockchip byl FFmpegem na porušování LGPL upozorněn již téměř před dvěma roky.

    NUKE GAZA! 🎆 | Komentářů: 7
    Kdo vám letos nadělí dárek?
     (30%)
     (1%)
     (29%)
     (1%)
     (2%)
     (1%)
     (10%)
     (10%)
     (18%)
    Celkem 230 hlasů
     Komentářů: 22, poslední včera 15:34
    Rozcestník

    Dotaz: Perl a vyhledani spec. znaků

    25.5.2010 00:16 LuRy | skóre: 12
    Perl a vyhledani spec. znaků
    Přečteno: 262×

    Ahoj, omlouvam se ze znova otravuju ale resim problem kdy mi perlovy skript vyhodi chybu a ukonci se nebo v lepsim pripade mi ignoruje hledany vyraz. jendá se o výraz

    foreach my $smajl1(@smajly){
    if ($msg =~ /<img src="http:\S\Simc.lide.cz\Ssmiles\S$smajl1.gif" alt="(.*?)" height="15" width="15" \/>/i) {
    $smajlpopisek[$a] = $1;
    $a++;
    }
    }

    print "POPISEK $smajlpopisek[0], $smajlpopisek[1], => $popiseksmajlu\n"; 

    kde v poli @smajly mam paříklad

    <img src="http://imc.lide.cz/smiles/42C2D0DBB105D8E601010000.gif"  alt="cože???..." height="15" width="15" />

    v pripade kdy neni v tagu "alt="neco"" zadny specialni znak nebo znak s diakritikou jde to dobre ale jakmile tam je neco jinyho skript spadne nejcastejci s hlaskou
    Nested quantifiers in regex; marked by <-- HERE in m/coże??? <-- HERE .../ at C:\Robotek\kick.bot\bot.pl line 1996.

    zkousel sem ruzne vyranty reg. vyrazu ale neprichazim na reseni. Mužete někdo prosím poradit?


    Řešení dotazu:


    Odpovědi

    25.5.2010 06:14 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Perl a vyhledani spec. znaků
    "???" se interpretuje jako část regexpu.

    Potřebujete $smajl1 ohraničit: \Q$smajl1\E.

    Pokud chcete správně zpracovat diakritiku použijte encode() a decode() při vstupu a výstupu řetězců z programu.
    In Ada the typical infinite loop would normally be terminated by detonation.
    25.5.2010 08:03 LuRy | skóre: 12
    Rozbalit Rozbalit vše Re: Perl a vyhledani spec. znaků
    asi sem nepocohpil spravne ... $lsmajl1 je tam jako upresneni o kterej vyraz jde a potrebuju vyhledat to co je mezi uvozovkama tagu alt
    Řešení 1× (misch)
    25.5.2010 12:51 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Perl a vyhledani spec. znaků
    Mně je dost jedno, jaký to má hlubší význam, ale ten kód jak máte v příkladu "padá" pro důvod (+oprava) viz můj příspěvek výše.

    Takže pro jistotu ještě jednou:

    \S$smajl1.gif

    má být

    \S\Q$smajl1\E.gif

    O diakritice jste se také zmínil, tudíž jsem poskytl vodítko.
    In Ada the typical infinite loop would normally be terminated by detonation.
    25.5.2010 19:18 LuRy | skóre: 12
    Rozbalit Rozbalit vše Re: Perl a vyhledani spec. znaků
    zkusil sem to .. pro zmenu to nic nevypsalo
    25.5.2010 21:03 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Perl a vyhledani spec. znaků
    V tom případě asi nejsme na stejném příkladu... zkuste sem hodit nějaký kompletní minimální program a jeho očekávaný výstup?
    In Ada the typical infinite loop would normally be terminated by detonation.
    25.5.2010 22:24 LuRy | skóre: 12
    Rozbalit Rozbalit vše Re: Perl a vyhledani spec. znaků
    #$msg = '<img src="http://imc.lide.cz/smiles/456954032FAAA52E98010000.gif" alt="aa" height="15" width="15">';
    $msg = '<img src="http://imc.lide.cz/smiles/456954032FAAA52E98010000.gif" alt=":)" height="15" width="15">test<img src="http://imc.lide.cz/smiles/3F866B27EB26DB61B9000000.gif" alt=":-DD" height="15" width="15"> <img src="http://imc.lide.cz/smiles/42C2D0DBB105D8E601010000.gif" alt="cože???..." height="15" width="15">';
    my @smajly = ($msg =~ /"http:\S\Simc.lide.cz\Ssmiles\S([A-Z0-9]+).gif"/g); # <<
    my @popisek = ($msg =~ /alt="(.+)" height="15" width="15 \S>"/g);
    my $a=0;
    my @opravenejsmajl;
    my @smajlpopisek;
    $opravenejsmajl[0] = "111";
    $opravenejsmajl[1] = "112";
    $opravenejsmajl[2] = "113";

    foreach my $smajl1 (@smajly){
    if ($msg =~ /<img src="http:\S\Simc.lide.cz\Ssmiles\S\Q$smajl1\E.gif" alt="(.*?)" height="15" width="15">/i) {
    $smajlpopisek[$a] = $1;
    print "POPISEK: ".$1."\n";
    }
    $a++;

    }

    $a = 0;
    foreach my $cislosmajlik (@smajly){
    $msg =~ s/<img src="http\S\S\Simc.lide.cz\Ssmiles\S\Q$cislosmajlik\E.gif" alt="\Q$smajlpopisek[$a]\E" height="15" width="15">/:$opravenejsmajl[$a]:/;
    $a++;
    }
    print "\n\nMSG: ".$msg;


    Už sme pochopil vsem byl hacek nedošlo mi že to musim hodit ke kazde proměné jinak tady je kompletni funkční řešení
    25.5.2010 22:25 LuRy | skóre: 12
    Rozbalit Rozbalit vše Re: Perl a vyhledani spec. znaků
    opět díky moc :) v regulakach pořád tápu nevím
    25.5.2010 08:15 LuRy | skóre: 12
    Rozbalit Rozbalit vše Re: Perl a vyhledani spec. znaků
    a o zpracovani diakritiky se starat nemusim porovnavam nazev smajlu v podobnem pripade potrebuju aby mi ho to vubec vypsalo :D coz se mi zatim nedari
    25.5.2010 08:50 Jan Šimák | skóre: 37 | Hradec Králové
    Rozbalit Rozbalit vše Re: Perl a vyhledani spec. znaků
    my $msg = 'img src="http://imc.lide.cz/smiles/42C2D0DBB105D8E601010000.gif" alt="cože???..." height="15" width="15"';
    
    print $1 if $msg =~ /alt="([^"]*)"/;
    25.5.2010 15:46 LuRy | skóre: 12
    Rozbalit Rozbalit vše Re: Perl a vyhledani spec. znaků

    Nested quantifiers in regex; marked by <-- HERE in m/<img src="http\S\S\Simc.lide.cz\Ssmiles\S42C2D0DBB105D8E601010000.gif" alt="coże??? <-- HERE ..." height="15" width="15" />/ at C:\Robotek\kick.bot\bot.pl line 1997.

    25.5.2010 18:36 l4m4
    Rozbalit Rozbalit vše Re: Perl a vyhledani spec. znaků
    Error between chair and keyboard.

    V tom, co napsal honza-S, se $msg nikde nepoužívá v roli regexpu. Takže pokud dostáváš tuto chybu, děláš namísto toho kdovíco.
    25.5.2010 19:17 LuRy | skóre: 12
    Rozbalit Rozbalit vše Re: Perl a vyhledani spec. znaků
    ja si to upravil do kodu aby to sedelo :)

    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.