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

    Byla vydána nová verze 6.4 linuxové distribuce Parrot OS (Wikipedie). Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    dnes 11:22 | Pozvánky

    Společnost initMAX pořádá sérii bezplatných webinářů věnovaných novému Zabbixu 7.4. Podrobnosti a registrace na webu initMAX.

    … více »
    Heřmi | Komentářů: 0
    dnes 03:44 | Nová verze

    Byla vydána verze 7.0 open source platformy pro správu vlastního cloudu OpenNebula (Wikipedie). Kódový název nové verze je Phoenix. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.

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

    E-mailový klient Thunderbird byl vydán ve verzi 140.0 ESR „Eclipse“. Jde o vydání s dlouhodobou podporou, shrnující novinky v upozorněních, vzhledu, správě složek a správě účtů. Pozor, nezaměňovat s průběžným vydáním 140.0, které bylo dostupné o týden dříve.

    Fluttershy, yay! | Komentářů: 4
    včera 15:11 | IT novinky

    Organizace Video Games Europe reprezentující vydavatele počítačových her publikovala prohlášení k občanské iniciativě Stop Destroying Videogames.

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

    Společnost Raspberry Pi nově nabzí Raspberry Pi Camera Module 3 Sensor Assembly, tj. samostatné senzorové moduly z Raspberry Pi Camera Module 3.

    Ladislav Hagara | Komentářů: 0
    včera 13:00 | Nasazení Linuxu

    Cathode Ray Dude v novém videu ukazuje autorádio Empeg Car (později Rio Car) z let 1999–2001. Šlo o jeden z prvních přehrávačů MP3 do auta. Běží na něm Linux. Vyrobeno bylo jen asi pět tisíc kusů, ale zůstala kolem nich živá komunita, viz např. web riocar.org.

    Fluttershy, yay! | Komentářů: 1
    včera 02:11 | Nová verze

    Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.7.

    Ladislav Hagara | Komentářů: 0
    včera 01:44 | Nová verze

    Wayland byl vydán ve verzi 1.24.0. Jde o menší vydání po více než roce. Více funkcionality bývá přidáváno v průběžných vydáních Wayland Protocols.

    Fluttershy, yay! | Komentářů: 0
    6.7. 23:44 | Nová verze

    Textový editor Geany byl vydán ve verzi 2.1. Jde o udržovací vydání po bezmála dvou letech. Obsahuje drobná vylepšení vyhledávání, aktualizace podpory zvýrazňování syntaxe a dále převážně opravy chyb.

    Fluttershy, yay! | Komentářů: 1
    Jaký je váš oblíbený skriptovací jazyk?
     (60%)
     (27%)
     (7%)
     (2%)
     (1%)
     (1%)
     (3%)
    Celkem 370 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

    Dotaz: Perl: problém s češtinou v regexpu

    13.4.2008 22:23 Herry
    Perl: problém s češtinou v regexpu
    Přečteno: 2015×
    Dobrý den,
    mám problém s češtinou v regulárních výrazech,
    /\w/ "nesežere" některé znaky s diakritikou v kódování UTF8.

    Příklad:

    #!/usr/bin/perl -w
    
    use utf8;
    use locale;
    use encoding 'utf-8';
    
    binmode STDOUT, ":utf8";
    binmode STDERR, ":utf8";
    
    print "ě>$1<\n" if "ě" =~ /(\w)/;
    print "š>$1<\n" if "š" =~ /(\w)/;
    print "č>$1<\n" if "č" =~ /(\w)/;
    print "ř>$1<\n" if "ř" =~ /(\w)/;
    print "ž>$1<\n" if "ž" =~ /(\w)/;
    print "ý>$1<\n" if "ý" =~ /(\w)/;
    print "á>$1<\n" if "á" =~ /(\w)/;
    print "í>$1<\n" if "í" =~ /(\w)/;
    print "é>$1<\n" if "é" =~ /(\w)/;
    

    Výraz /(\w)/ projde jenom pro ě,š,č,ř,ž

    locales mám nastaveno na:

    LANG=cs_CZ.UTF-8
    LC_CTYPE="cs_CZ.UTF-8"
    LC_NUMERIC="cs_CZ.UTF-8"
    LC_TIME="cs_CZ.UTF-8"
    LC_COLLATE="cs_CZ.UTF-8"
    LC_MONETARY="cs_CZ.UTF-8"
    LC_MESSAGES="cs_CZ.UTF-8"
    LC_PAPER="cs_CZ.UTF-8"
    LC_NAME="cs_CZ.UTF-8"
    LC_ADDRESS="cs_CZ.UTF-8"
    LC_TELEPHONE="cs_CZ.UTF-8"
    LC_MEASUREMENT="cs_CZ.UTF-8"
    LC_IDENTIFICATION="cs_CZ.UTF-8"
    LC_ALL=
    

    Někde jsem našel řešení něco jako /(\p{L})/, ale nikde jsem se nedočetl co to přesně znamená a proč to původní řešení nefunguje přestože je to uvedeno v mnoha návodech.

    Díky za odpovědi

    Odpovědi

    13.4.2008 23:06 Hery
    Rozbalit Rozbalit vše Dodatek

    /(\p{L})/ nespolkne číslice, potřeboval bych něco na alfanumerický znaky.

    osladil avatar 14.4.2008 08:49 osladil | skóre: 12
    Rozbalit Rozbalit vše Re: Perl: problém s češtinou v regexpu
    Ahoj, v jenom skriptu pouzivam neco podobneho. Zkousel jsem to ted na tomhle:
    #!/usr/bin/perl
    
    use strict;
    use warnings;
    use utf8;
    
    binmode STDIN, ":utf8";
    binmode STDOUT, ":utf8";
    
    my $string = "Čeština je ČESKÁ";
    $string =~ /(\w+)/;
    my ($result) = ($1);
    
    print "Hledam v $string\n";
    print "Nalezeno $result\n";
    
    print "Čeština je cool!\n" if $result eq "Čeština";
    
    Moje locales:
    mira@batman:~$ env|grep LANG
    LANG=en_US.UTF-8
    
    zoul avatar 14.4.2008 09:19 zoul | skóre: 43 | blog: | Boskovice
    Rozbalit Rozbalit vše Re: Perl: problém s češtinou v regexpu
    Mně to funguje:
    perl -e "use locale; print 'Yep' if ('ý' =~ /\w/)"
    Yep
    OS X 10.5.2, Perl 5.8.8, locale en_US.UTF-8. Možná zkus nastavit ještě LC_ALL?
    20.9.2008 17:22 harry
    Rozbalit Rozbalit vše Re: Perl: problém s češtinou v regexpu
    RESENI

    doinstaloval jsem nejaky baliky, uz nevim ktery presne zabral:

    language-pack-cs
    language-gnome-cs
    language-support-cs
    language-translate-cs

    reinstaloval jsem locale

    sudo apt-get install --reinstall locales

    a potom to zaclo fungovat:

    LC_ALL=en_US.UTF-8 perl -C -Mutf8 -e '$_="aábcčdďeěéfghiíjklmnňoópqrřsštťuúůvwxyýzž"; s/\W/-/g; print $_, "\n"'

    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.