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 16:44 | Komunita

    Richard Hughes oznámil, že po společnostech Red Hat a Framework a organizacích OSFF a Linux Foundation, službu Linux Vendor Firmware Service (LVFS) umožňující aktualizovat firmware zařízení na počítačích s Linuxem, nově sponzorují také společnosti Dell a Lenovo. Do dnešního dne bylo díky LVFS provedeno více než 145 milionů aktualizací firmwarů od více než 100 různých výrobců na milionech linuxových zařízení.

    Ladislav Hagara | Komentářů: 0
    dnes 15:22 | IT novinky

    Americké technologické společnosti Microsoft, Google a xAI souhlasily, že vládě Spojených států poskytnou přístup k novým modelům umělé inteligence (AI) před jejich uvedením na trh. Oznámila to americká vláda, která tak bude moci prověřit, zda modely nepředstavují hrozbu pro národní bezpečnost. Oznámení podtrhuje rostoucí obavy Washingtonu z rizik spojených s výkonnými AI systémy. Americké úřady chtějí v rámci předběžného přístupu

    … více »
    Ladislav Hagara | Komentářů: 0
    dnes 14:11 | IT novinky

    Společnost Valve zveřejnila (GitLab) nákresy ovladače Steam Controller a puku. Pro všechny, kdo by jej chtěli hacknout nebo modifikovat, případně pro ně navrhnout nějaké příslušenství. Pod licencí Creative Commons (CC BY-NC-SA 4.0).

    Ladislav Hagara | Komentářů: 0
    dnes 12:44 | Komunita

    PHP bylo dlouho distribuováno pod vlastní licencí – s výjimkou částí spadajících pod licenci Zend Engine. Po několikaleté práci se povedlo PHP přelicencovat na 3bodovou licenci BSD.

    Ladislav Hagara | Komentářů: 0
    dnes 05:00 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za duben (YouTube). Na Linuxu je vedle Qt frontendu nově k dispozici také GTK4 / libadwaita frontend.

    Ladislav Hagara | Komentářů: 13
    včera 20:22 | IT novinky

    Neziskové průmyslové konsorcium Khronos Group vydalo verzi 3.1 specifikace OpenCL (Open Computing Language). OpenCL je průmyslový standard pro paralelní programování heterogenních počítačových systémů.

    Ladislav Hagara | Komentářů: 0
    včera 13:11 | Nová verze

    Homebridge pro integraci chytrých domácích zařízení byl vydán ve verzi 2.0.0. Nově vedle protokolu HomeKit Accessory Protocol (HAP) podporuje standard chytré domácnosti Matter.

    Ladislav Hagara | Komentářů: 0
    včera 04:11 | Nová verze

    Omarchy je linuxová distribuce s dlaždicovým správcem oken Hyprland. Založena je na Arch Linuxu. Vydána byla v nové verzi 3.7.0 - The Gaming Edition. Z novinek lze vypíchnout příkaz omarchy a celou řadu herních možností.

    Ladislav Hagara | Komentářů: 2
    včera 03:11 | Nová verze

    CyberChef byl vydán v nové major verzi 11. Přehled novinek v Changelogu. CyberChef je webová aplikace pro analýzu dat a jejich kódování a dekódování, šifrování a dešifrování, kompresi a dekompresi, atd. Často je využívaná při kybernetických cvičeních a CTF (Capture the Flag).

    Ladislav Hagara | Komentářů: 0
    4.5. 20:11 | Nová verze

    Byla vydána nová verze 2.4.67 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 11 zranitelností.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (9%)
     (2%)
     (14%)
     (31%)
     (4%)
     (7%)
     (3%)
     (16%)
     (24%)
    Celkem 1510 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    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: 273×

    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.