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í
×
    včera 15:33 | 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.8.

    Ladislav Hagara | Komentářů: 3
    včera 14:22 | IT novinky

    Herní studio Hangar 13 vydalo novou Mafii. Mafia: Domovina je zasazena do krutého sicilského podsvětí na začátku 20. století. Na ProtonDB je zatím bez záznamu.

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

    Operátor O2 má opět problémy. Jako omluvu za pondělní zhoršenou dostupnost služeb dal všem zákazníkům poukaz v hodnotě 300 Kč na nákup telefonu nebo příslušenství.

    Ladislav Hagara | Komentářů: 7
    včera 05:55 | IT novinky

    Společnost OpenAI představila GPT-5 (YouTube).

    Ladislav Hagara | Komentářů: 1
    včera 05:00 | Nová verze

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

    Ladislav Hagara | Komentářů: 0
    7.8. 17:33 | IT novinky

    Americký prezident Donald Trump vyzval nového generálního ředitele firmy na výrobu čipů Intel, aby odstoupil. Prezident to zdůvodnil vazbami nového šéfa Lip-Bu Tana na čínské firmy.

    Ladislav Hagara | Komentářů: 8
    7.8. 16:55 | Nová verze

    Bylo vydáno Ubuntu 24.04.3 LTS, tj. třetí opravné vydání Ubuntu 24.04 LTS s kódovým názvem Noble Numbat. Přehled novinek a oprav na Discourse.

    Ladislav Hagara | Komentářů: 0
    7.8. 16:44 | Nová verze

    Byla vydána verze 1.89.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    7.8. 12:22 | IT novinky

    Americká technologická společnost Apple uskuteční v USA další investice ve výši sta miliard dolarů (2,1 bilionu korun). Oznámil to ve středu šéf firmy Tim Cook při setkání v Bílém domě s americkým prezidentem Donaldem Trumpem. Trump zároveň oznámil záměr zavést stoprocentní clo na polovodiče z dovozu.

    Ladislav Hagara | Komentářů: 5
    7.8. 04:55 | Nová verze

    Zálohovací server Proxmox Backup Server byl vydán v nové stabilní verzi 4.0. Založen je na Debianu 13 Trixie.

    Ladislav Hagara | Komentářů: 0
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (47%)
     (21%)
     (4%)
     (5%)
     (3%)
     (1%)
     (1%)
     (18%)
    Celkem 315 hlasů
     Komentářů: 23, poslední 4.8. 13:01
    Rozcestník

    Dotaz: Regulární výrazy - je toto vůbec možné?

    19.9.2006 13:19 Petr Mach
    Regulární výrazy - je toto vůbec možné?
    Přečteno: 304×
    Zdravim,

    jiz nekolik hodin se peru s docela delikatnim problemem tykajiciho se regularnich vyrazu v perlu.

    Predvedu ho na zjednodusenem prikladu

    Mam 3 typy dat. rekneme ze napriklad DATUM, KATEGORIE a UDAJ, ktere lze ve zdrojovem kodu jednoznacne najit. A rekneme ze mam nejaky ten zdrojovy kod. Napriklad toto.

    DATUM 1.1.2006
    KATEGORIE A
    neco uplne jineho
    neco uplne jineho
    UDAJ udaj1
    neco uplne jineho
    neco uplne jineho
    neco uplne jineho
    neco uplne jineho
    neco uplne jineho
    UDAJ udaj2
    neco uplne jineho
    neco uplne jineho
    UDAJ udaj3
    neco uplne jineho
    neco uplne jineho
    neco uplne jineho
    KATEGORIE B
    neco uplne jineho
    neco uplne jineho
    neco uplne jineho
    UDAJ udaj4
    neco uplne jineho
    neco uplne jineho
    UDAJ udaj5
    neco uplne jineho
    neco uplne jineho
    neco uplne jineho
    UDAJ udaj6
    neco uplne jineho
    neco uplne jineho
    DATUM 2.1.2006
    neco uplne jineho
    neco uplne jineho
    UDAJ udaj7
    neco uplne jineho
    neco uplne jineho
    neco uplne jineho
    KATEGORIE C
    neco uplne jineho
    neco uplne jineho
    neco uplne jineho
    UDAJ udaj8
    

    A co potrebuji? Potrebuji ziskat UDAJ a zaroven potrebuji vedet V JAKE JE KATEGORII a JAKE MA DATUM. Datum a kategorii ma podle toho, ktere datum a kategorie je mu nejblize nadrazena.

    Takze z tohoto textu, co jsem uvedl potrebuju ziskat toto:

    udaj1 A 1.1.2006
    udaj2 A 1.1.2006
    udaj3 A 1.1.2006
    udaj4 B 1.1.2006
    udaj5 B 1.1.2006
    udaj6 B 1.1.2006
    udaj7 B 2.1.2006
    udaj8 C 2.1.2006
    

    Co jsem zkousel?

    Vytvoril jsem 3 regularni vyrazy, po jednom pro nalezeni UDAJE, KATEGORIE a DATUMU. A spojil je pomoci alternace |. Jenze oni se regularni vyrazy chovaji jinak nez jsem ocekaval, a hledaji stale pouze podle 1. regularniho vyrazu a k 2. prikroci az kdyz 1. vubec nematchne. Lze toto nejak zmenit?

    Dale me napadlo, zda neni mozne hledat od urcite pozice. Prochazel bych text znak po znaku a u kazdeho znaku bych zkusil aplikovat tyto 3 regularni vyrazy (asi dost neefektivni, ale to by se dalo skousnout) a kdyby selhaly, posunul bych se o znak dal. Jde to nejak?

    A nebo jsem jenom blbej a reseni je uplne jednoduchy?

    Diiky

    Odpovědi

    19.9.2006 13:28 five | skóre: 6 | Bratislava
    Rozbalit Rozbalit vše Re: Regulární výrazy - je toto vůbec možné?
    Ak by si ten text prechadzal po riadkoch a odkladal si aktualny datum, aktualnu kategoriu a nasledne by si ich vypisoval? Regexpy su fajn, ale je nutne takto sa trapit?

    celkom dobre nechapem co si spojil alternaciou, rozne regularne vyrazy? Neviem si to celkom dobre predstavit ;0(.
    Jiří Poláček avatar 19.9.2006 13:32 Jiří Poláček | skóre: 47 | blog: naopak | Sivice
    Rozbalit Rozbalit vše Re: Regulární výrazy - je toto vůbec možné?
    Mít to za úkol já, tak se vykašlu na regulární výrazy, sáhnu po svém oblíbeném programovacím jazyku a:

    - po řádcích čtu zdrojový soubor

    - pokud najdu řádek začínající DATUM nebo KATEGORIE, tak si do patřičných proměnných uložím aktuální hodnotu datumu či kategorie

    - pokud najdu UDAJ, vypíšu výsledek v požadovaném tvaru (kategorii a datum mám přeci v proměnných)

    - hotovo
    Sudoku omrzelo? Zkuste bobblemaze! | Statistiky jsou jak bikiny. Napoví hodně, všechno ale neukážou.
    19.9.2006 13:38 Petr Machj
    Rozbalit Rozbalit vše Re: Regulární výrazy - je toto vůbec možné?
    vidim ze jsem ten kod prilis zjednodusil:) ono je to ve skutecnosti vsechno na jednom radku a neni to vubec tak hezky citelne jak to vypada zde... Jenom regularni vyraz na udaj ma odhadem 0.5kB.

    Kazdopadne jste me inspirovali a napadla me dalsi vec - zkusit tam nejak ty radky simulovat. Zkusim to a uvidim jestli budu uspesny.

    Zatim diky
    19.9.2006 13:50 Martin Tůma | skóre: 39 | blog: RTFM | Praha
    Rozbalit Rozbalit vše Re: Regulární výrazy - je toto vůbec možné?

    A proč sem proboha nenapíšete co přesně chcete dělat? Tyhle "abstraktní problémy" tady poslední dobou začínají bejt děsná móda... Pak to dopadá přesně takhle - 0.5kB regulárníma výrazama, který stejně nevedou k cíly.

    Každý má právo na můj názor!
    bazil avatar 19.9.2006 13:56 bazil | skóre: 33 | blog: sluje | Miroslav
    Rozbalit Rozbalit vše Re: Regulární výrazy - je toto vůbec možné?
    mno ty udaje na jednom radku musi byt nejak oddelene, co si ty oddelovace prevest na konce radku ??
    19.9.2006 14:02 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
    Rozbalit Rozbalit vše Re: Regulární výrazy - je toto vůbec možné?
    19.9.2006 14:19 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Regulární výrazy - je toto vůbec možné?
    ak je tam nejaky jednoznacny oddelovac, tak $/ = oddelovac.
    ak nie, vseobecny sposob:
    for (split /(A|B|C)/, $riadok) {
      if (/A/) { ...; next; }
      if (/B/) { ...; next; }
      if (/C/) { ...; next; }
    }
    
    19.9.2006 14:21 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Regulární výrazy - je toto vůbec možné?
    kde:
    A ... regex pre datum
    B ... regex pre kategoriu
    C ... regex pre udaj

    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.