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 03:44 | Nová verze

    Bitwig Studio (Wikipedie) bylo vydáno ve verzi 6. Jedná se o proprietární multiplatformní (macOS, Windows, Linux) digitální pracovní stanici pro práci s audiem (DAW).

    Ladislav Hagara | Komentářů: 0
    dnes 02:11 | Komunita

    Společnost Igalia představila novou linuxovou distribuci (framework) s názvem Moonforge. Jedná se o distribuci určenou pro vestavěné systémy. Vychází z projektů Yocto a OpenEmbedded.

    Ladislav Hagara | Komentářů: 0
    dnes 00:44 | Nová verze

    Google Chrome 146 byl prohlášen za stabilní. Nejnovější stabilní verze 146.0.7680.71 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 29 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    dnes 00:22 | Nová verze

    D7VK byl vydán ve verzi 1.5. Jedná se o fork DXVK implementující překlad volání Direct3D 3 (novinka), 5, 6 a 7 na Vulkan. DXVK zvládá Direct3D 8, 9, 10 a 11.

    Ladislav Hagara | Komentářů: 0
    včera 23:22 | Nová verze

    Bylo vydáno Eclipse IDE 2026-03 aneb Eclipse 4.39. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.

    Ladislav Hagara | Komentářů: 3
    včera 10:22 | Upozornění

    Ze systému Slavia pojišťovny uniklo přibližně 150 gigabajtů citlivých dat. Jedná se například o pojistné dokumenty, lékařské záznamy nebo přímou komunikaci s klienty. Za únik může chyba dodavatelské společnosti.

    Ladislav Hagara | Komentářů: 9
    včera 10:11 | IT novinky

    Sněmovna propustila do dalšího kola projednávání vládní návrh zákona o digitální ekonomice, který má přinést bezpečnější on-line prostředí. Reaguje na evropské nařízení DSA o digitálních službách a upravuje třeba pravidla pro on-line tržiště nebo sociální sítě a má i víc chránit děti.

    Ladislav Hagara | Komentářů: 27
    včera 09:33 | IT novinky

    Meta převezme sociální síť pro umělou inteligenci (AI) Moltbook. Tvůrci Moltbooku – Matt Schlicht a Ben Parr – se díky dohodě stanou součástí Meta Superintelligence Labs (MSL). Meta MSL založila s cílem sjednotit své aktivity na poli AI a vyvinout takovou umělou inteligenci, která překoná lidské schopnosti v mnoha oblastech. Fungovat by měla ne jako centralizovaný nástroj, ale jako osobní asistent pro každého uživatele.

    Ladislav Hagara | Komentářů: 0
    včera 00:22 | Nová verze

    Byla vydána betaverze Fedora Linuxu 44 (ChangeSet), tj. poslední zastávka před vydáním finální verze, která je naplánována na úterý 14. dubna.

    Ladislav Hagara | Komentářů: 1
    10.3. 12:11 | IT novinky

    Open source router Turris Omnia NG Wired je v prodeji. Jedná se o Turris Omnia NG bez Wi-Fi. Je připraven pro zamontování do racku.

    Ladislav Hagara | Komentářů: 6
    Které desktopové prostředí na Linuxu používáte?
     (16%)
     (7%)
     (0%)
     (11%)
     (29%)
     (2%)
     (5%)
     (2%)
     (13%)
     (25%)
    Celkem 1055 hlasů
     Komentářů: 26, poslední dnes 08:56
    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: 270×

    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.