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í
×

    dnes 13:11 | Nová verze

    Debian 12.3 byl kvůli chybě v jádře 6.1.64-1 nakonec přeskočen. Vydán byl rovnou Debian 12.4.

    Ladislav Hagara | Komentářů: 2
    včera 13:00 | IT novinky

    Počítačové hře Doom je dnes 30 let. Vydána byla 10. prosince 1993. Zahrát si ji lze také na Internet Archive.

    Ladislav Hagara | Komentářů: 12
    včera 02:11 | Komunita

    V srpnu společnost HashiCorp přelicencovala "své produkty" Terraform, Packer, Vault, Boundary, Consul, Nomad a Waypoint z MPL a Vagrant z MIT na BSL (Business Source License). V září byl představen svobodný a otevřený fork Terraformu s názvem OpenTofu. Na konferenci Open Source Summit Japan 2023 byl představen (YouTube) svobodný a otevřený fork Vaultu s názvem OpenBao (GitHub).

    Ladislav Hagara | Komentářů: 5
    9.12. 21:44 | Komunita

    Na dnes plánované vydání Debianu 12.3 bylo posunuto. V jádře 6.1.64-1 v souborovém systému ext4 je chyba #1057843 vedoucí k možnému poškození dat.

    Ladislav Hagara | Komentářů: 18
    9.12. 14:11 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek i s náhledy aplikací v Týden v GNOME a Týden v KDE.

    Ladislav Hagara | Komentářů: 0
    9.12. 03:11 | Humor

    Tak od ledna linuxové terminály, výchozí pozadí i celé desktopy v barvě "broskvového chmýří", v barvě "jejíž všeobjímající duch obohacuje mysl, tělo i srdce". Barvou roku 2024 je PANTONE 13-1023 Peach Fuzz.

    Ladislav Hagara | Komentářů: 16
    8.12. 21:44 | Nová verze

    Byla vydána verze 10 linuxové distribuce Freespire (Wikipedie). Jedná se o bezplatnou linuxovou distribuci vyvíjenou společností PC/OpenSystems LLC stojící za komerční distribucí Linspire (Wikipedie), původně Lindows.

    Ladislav Hagara | Komentářů: 2
    8.12. 15:44 | Bezpečnostní upozornění

    Binarly REsearch před týdnem informoval o kritických zranitelnostech UEFI souhrnně pojmenovaných LogoFAIL. Tento týden doplnil podrobnosti. Útočník může nahradit logo zobrazováno při bootování vlastním speciálně upraveným obrázkem, jehož "zobrazení" při bootování spustí připravený kód. Pětiminutové povídání o LogoFAIL a ukázka útoku na YouTube.

    Ladislav Hagara | Komentářů: 5
    8.12. 00:11 | Nová verze

    Byla vydána listopadová aktualizace aneb nová verze 1.85 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.85 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 24
    7.12. 13:33 | Komunita Ladislav Hagara | Komentářů: 2
     (41%)
     (9%)
     (50%)
    Celkem 116 hlasů
     Komentářů: 2, poslední 6.12. 22:12
    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: 216×

    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.