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

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala beta verzi Ubuntu Touch 24.04-2.0. Nová verze již počítá s výřezy pro fotoaparát (notch) a zaoblenými rohy displeje. Webový prohlížeče Morph přešel z Chromia 87 na Chromium 134. Do shellu Lomiri byl přidán editor snímků obrazovky.

    Ladislav Hagara | Komentářů: 0
    dnes 04:22 | Komunita

    V Praze probíhá Flock 2026, tj. konference pro přispěvatele a příznivce Fedory. Přednášky lze sledovat také na YouTube.

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

    Node-RED (Wikipedie, GitHub), webová aplikace postavená na Node.js pro vizuální programování a propojování hardwarových zařízení, API a online služeb, byl vydán ve verzi 5.0. Přehled novinek v příspěvku na blogu.

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

    Byla vydána nová verze 3.27.0 FreeRDP, tj. svobodné implementace protokolu RDP (Remote Desktop Protocol). Opraveno bylo 5 zranitelností.

    Ladislav Hagara | Komentářů: 0
    včera 23:11 | Komunita

    Řídící výbor GCC schválil záměr do GCC začlenit backend WebAssembly.

    Ladislav Hagara | Komentářů: 2
    14.6. 21:00 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 7.0 oznámil Linus Torvalds vydání Linuxu 7.1. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a časem také na Linux Kernel Newbies.

    Ladislav Hagara | Komentářů: 0
    14.6. 13:33 | Zajímavý software

    Cheat Engine (Wikipedie) je s verzí 7.7 k dispozici už také pro Linux. Jedná se o proprietární skener/debugger paměti používaný především k cheatování v počítačových hrách.

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

    Vláda USA nařídila společnosti Anthropic pozastavit přístup k modelům Fable 5 a Mythos 5 pro všechny cizince, včetně zaměstnanců Anthropicu.

    Ladislav Hagara | Komentářů: 8
    13.6. 02:22 | Nová verze

    Společnost Murena představila (YouTube) novou verzi 4.0 mobilního operačního systému /e/OS (Wikipedie) založeného na Androidu a LineageOS bez aplikací a služeb od Googlu.

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

    V Arch User Repository (AUR) bylo kompromitováno přes 400 opomíjených balíčků (jejich seznam). Útočník do nich začlenil škodlivý npm balíček atomic-lockfile, který krade citlivá data uživatelů. Publikována byla předběžná analýza spouštěného malwaru deps.

    Ladislav Hagara | Komentářů: 17
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (16%)
     (31%)
     (3%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1914 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: Rozsirene regularni vyrazy a bezkontextovy jazyk

    29.9.2012 13:47 Karel Marhoul
    Rozsirene regularni vyrazy a bezkontextovy jazyk
    Přečteno: 465×
    Zdravim, muj dotaz bude souviset s perlovskymi regularnimi vyazy a taky s formalnimi jazyky.

    Jazyk a^n b^m (nejdrive libovolny nenulovy pocet znaku 'a' a pak libovolny nenulovy pocet znaku 'b') je regularni a tudiz lze definovat (klasickymi nerozsirenymi) regularnimi vyrazy, viz:
    root@bt:~# cat test.txt 
    bbbbbaa
    aaabb
    abbb
    aaaabbbb
    root@bt:~# grep 'a\+b\+' test.txt 
    aaabb
    abbb
    aaaabbbb
    
    Jazyk a^n b^n (posloupnost znaku 'a' nasledovanyna STEJNYM poctem znaku 'b') je vsak uz jazyk bezkontextovy. Docetl jsem se, ze rozsirene regularni vyrazy (ERE,PCRE) mohou popsat i takovy jazyk. Muze tedy mi prosim tedy nekdo uvest priklad treba z grepem tak jako vyse, ktery mi z toho vstupniho souboru vybere pouze retezec nalezejici do toho jazyka, tedy 'aaaabbbb'?

    Řešení dotazu:


    Odpovědi

    29.9.2012 14:48 NN
    Rozbalit Rozbalit vše Re: Rozsirene regularni vyrazy a bezkontextovy jazyk
    $ egrep '[a][b]{4}' test.txt
    29.9.2012 15:07 chrono
    Rozbalit Rozbalit vše Re: Rozsirene regularni vyrazy a bezkontextovy jazyk
    Na Stackoverflow sa niečo také objavuje pomerne často (napr. Match a^n b^n c^n (e.g. “aaabbbccc”) using regular expressions (PCRE), technicky je to riešenie zložitejšieho problému, ale je tam odkaz aj na ten aaabbb problém).
    wamba avatar 29.9.2012 15:25 wamba | skóre: 38 | blog: wamba
    Rozbalit Rozbalit vše Re: Rozsirene regularni vyrazy a bezkontextovy jazyk
    viz. perldoc perlre
     echo aaaabbbb |perl -nE 'print if /^(a(?1)*b)$/'
    This would have been so hard to fix when you don't know that there is in fact an easy fix.
    29.9.2012 16:12 Karel Marhoul
    Rozbalit Rozbalit vše Re: Rozsirene regularni vyrazy a bezkontextovy jazyk
    Dekuji to je presne ono, jen bych to potreboval prevest na grep. Toto nefunguje:
    echo aaaabbbb | grep -E '^(a(?1)*b)$'
    
    29.9.2012 16:19 chrono
    Rozbalit Rozbalit vše Re: Rozsirene regularni vyrazy a bezkontextovy jazyk
    Je otázne, či sa to dá urobiť s rozšírenými POSIX regexp, ale s pcregrep to funguje.
    29.9.2012 17:39 Karel Marhoul
    Rozbalit Rozbalit vše Re: Rozsirene regularni vyrazy a bezkontextovy jazyk
    Ja myslel ze PCRE a extended POSIX regexps jsou ekvivalentni...
    29.9.2012 17:55 chrono
    Rozbalit Rozbalit vše Re: Rozsirene regularni vyrazy a bezkontextovy jazyk
    ERE oproti BRE pridáva viac-menej len operátory ? a + (a mierne mení syntax zápisu napr. a{1,2} z pôvodného a\{1,2\}).
    30.9.2012 22:05 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Rozsirene regularni vyrazy a bezkontextovy jazyk
    PCRE znamená Perl Compatible Regular Expression. A perlové výrazy jsou silnější než rozšířené výrazy. Jako rychlý přehled doporučuji manuálovou stránku pcresyntax(3) z balíku pcre. (Že pcre není zcela kompatibilní s Perlem prozatím přejdeme.)
    wamba avatar 29.9.2012 23:51 wamba | skóre: 38 | blog: wamba
    Rozbalit Rozbalit vše Re: Rozsirene regularni vyrazy a bezkontextovy jazyk
    tak tohle by mohlo fungovat
    echo aaaabbbb | grep -P '^(a(?1)*b)$'
    
    This would have been so hard to fix when you don't know that there is in fact an easy fix.

    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.