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

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za květen (YouTube).

    Ladislav Hagara | Komentářů: 5
    včera 11:22 | Bezpečnostní upozornění

    Úřad pro ochranu osobních údajů řeší desítky stížností na jednotné měsíční hlášení zaměstnavatele, které stát spustil počátkem dubna. Systém, jenž má firmám odlehčit od desítek formulářů, nejenže výrazně zatížil jejich účetní oddělení, ale docházelo v něm i k únikům osobních dat zaměstnanců k firmám, kde nepracovali. Podle ministerstva práce a sociálních věcí stála za problémem technická chyba. „Incident se týkal několika stovek

    … více »
    Ladislav Hagara | Komentářů: 10
    včera 10:46 | Nová verze

    Byla vydána (𝕏, Bluesky) nová verze 22.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.

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

    Vim Classic byl vydán ve verzi 8.3. Drew DeVault oznámil tento fork editoru Vim (verze 8.2.0148, tj. těsně před zavedením Vim9 skriptování) v březnu letošního roku. Důvodem forku bylo, že vývojáři editorů Vim a Neovim začali při vývoji využívat LLM.

    Ladislav Hagara | Komentářů: 6
    včera 03:44 | Komunita

    Open source konference DevConf.CZ 2026 proběhne 18. a 19. června v Brně na FIT VUT. Publikován byl program a spuštěna byla registrace.

    Ladislav Hagara | Komentářů: 0
    3.6. 19:44 | Nová verze

    Společnost JetBrains uvolnila verzi 2 svého open-source velkého jazykového modelu (LLM) pro vývojáře Mellum.

    Ladislav Hagara | Komentářů: 0
    3.6. 14:44 | IT novinky

    Probíhá konference Microsoft Build 2026. Microsoft představuje své novinky: kvantový čip Majorana 2, Surface Laptop Ultra a Surface RTX Spark Dev Box s NVIDIA RTX Spark, Intelligent Terminal, Coreutils for Windows (fork Rust Coreutils), AI modely MAI, AI agenta Scout, platformu pro agent-first zařízení Project Solara, …

    Ladislav Hagara | Komentářů: 0
    3.6. 12:44 | Nová verze

    Google Chrome 149 byl prohlášen za stabilní. Nejnovější stabilní verze 149.0.7827.53 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    3.6. 10:55 | Nová verze

    Pluto.jl, reaktivní notebook pro programovací jazyk Julia, dospěl do verze 1.0.

    Ladislav Hagara | Komentářů: 5
    2.6. 13:44 | Nová verze

    Byla vydána nová verze 12.0.0 vizuálního programovacího jazyka Snap! (Wikipedie) inspirovaného jazykem Scratch (Wikipedie). Přehled novinek na GitHubu.

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


    Dotaz: Bordel v regulárních výrazech ve Vimu

    10.6.2010 17:13 dejvik | skóre: 12 | blog: vysatost
    Bordel v regulárních výrazech ve Vimu
    Přečteno: 341×

    Ahoj, regularní výrazy(regexpy) jsou super a snažím se je využívat, když to jde (moc často to není:)). Ale trošku mě rozčílila menší nekonzistence v escapování speciálních znaků.

    Příklad:
    /[b-f]/
    /[^cs]ow/

    Doposud v pořádku. Znaky [^-] jsou speciální znaky pro regexpy. Když je budu chtít použít doslova dám před ně lomítko.

    Aa tady to začíná:
    /o\+i/

    '+' je zase znak pro regexpy se spec. významem, ale musím před něho dát lomítko. Proč?

    A hnusný mix:
    /[a-c]t*o\+i/

    Jak mám přátelé poznat, před co dát lomítko a před co ne? Má to souvislost s rozšířenými regexpy? Jestli jo, tak nejde to přepnout do konzistentního stavu a udělat z toho bordelu něco normálního? Mě nezajímá, které regexpy používám. Buď budu dávat všude lomítko nebo ne. Jestli to má nějaký vyšší význam, rád se poučím.

    Pěkný tutoriál, ze kterého vycházím: http://vim.runpaint.org/searching/creating-regular-expressions/

    Díky a přeju hezký den:)

    Odpovědi

    10.6.2010 17:32 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Bordel v regulárních výrazech ve Vimu
    Jak mám přátelé poznat, před co dát lomítko a před co ne?

    Zkušeností? Používejte reg. výrazy častěji... Není to tak složité, u základních reg. výrazů se escapují závorky () {} a u sed a vim navíc ještě +. To plus je asi nejvíc matoucí... I já na něj občas zapomenu.
    \(foo\)*\(bar\)\+\(baz\)\{3\}
    vs
    (foo)*(bar)+(baz){3}
    
    Rozšířené regulární výrazy jsou co do escapování trochu hezčí, jejich používání ve vimu by asi šlo pomocí pluginu eregex.vim (nezkoušel jsem) nebo něčeho podobného.
    10.6.2010 17:35 dejvik | skóre: 12 | blog: vysatost
    Rozbalit Rozbalit vše Re: Bordel v regulárních výrazech ve Vimu
    díky za odpověď

    Pamatovat si () {} + není tak hrozné, ale proč mě tak trápí?
    10.6.2010 20:22 dejvik | skóre: 12 | blog: vysatost
    Rozbalit Rozbalit vše Re: Bordel v regulárních výrazech ve Vimu

    Teď se dívám na eregex.vim a perldo a rubydo vypadají velice dobře. Škoda jen, že tam není ukázané, jak se s tím vyhledává v textu (ne nahrazuje), abych si mohl hezky zvýraznit hledaná slova. Ale to už chci asi moc :-)

    10.6.2010 17:35 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Bordel v regulárních výrazech ve Vimu
    Nedobře se na to díváte :-) V syntaxi regulárních výrazů, kterou popisujete, není „+“ znak se speciálním významem, ale naopak je to zcela obyčejné plus. Vedle toho pak existuje sekvence „\+“, která má speciální význam. A jak to máte poznat? Jednoduše se podíváte do nápovědy. Tam bude určitě napsáno, že speciální znak „[“ má nějakou funkci, a speciální sekvence „\+“ má zase jinou funkci. A všechno ostatní, co tam není vyjmenované, jsou obyčejné znaky, které se použijí tak, jak je napíšete.
    10.6.2010 17:55 dejvik | skóre: 12 | blog: vysatost
    Rozbalit Rozbalit vše Re: Bordel v regulárních výrazech ve Vimu
    Už se dívám do helpu. Ale stejně mi nic nevysvětlili. Prostě Používej lomítko pro tamto a šmitec.
    Teď vím, že mám dávat lomítko před ( ) { | + = a character classes, když chci speciální význam. Pořád mi přijde, že v tom je bordel.
    10.6.2010 18:07 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Bordel v regulárních výrazech ve Vimu
    Není v tom bordel. Existují sekvence znaků se speciálním významem, například „[“, „\{“, „\+“. Nesmíte se na to lomítko tak upínat – prostě může být součástí některých sekvencí se speciálním významem. Takže to není „lomítko před ( ) { | + … když chci mít speciální význam“. Správně to je „sekvence \( \) \{ \| \+ … mají speciální význam“.
    10.6.2010 18:44 dejvik | skóre: 12 | blog: vysatost
    Rozbalit Rozbalit vše Re: Bordel v regulárních výrazech ve Vimu
    Dá se na to takhle dívat. Ale vyžaduje to si více pamatovat. Budu to muset asi skousnout.
    Petr Bravenec avatar 11.6.2010 13:12 Petr Bravenec | skóre: 43 | blog: Bravenec
    Rozbalit Rozbalit vše Re: Bordel v regulárních výrazech ve Vimu
    Nekousat. Pamatovat.
    Petr Bravenec - Hobrasoft s.r.o.

    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.