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ářů: 2
    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ářů: 5
    včera 05:55 | IT novinky

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

    Ladislav Hagara | Komentářů: 0
    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%)
     (20%)
     (4%)
     (5%)
     (3%)
     (1%)
     (1%)
     (18%)
    Celkem 313 hlasů
     Komentářů: 23, poslední 4.8. 13:01
    Rozcestník

    Dotaz: Reg. výraz na vyhľadanie určitých častí zo súboru

    Marián Oravec avatar 4.10.2007 09:22 Marián Oravec | skóre: 22 | Nitra
    Reg. výraz na vyhľadanie určitých častí zo súboru
    Přečteno: 278×
    Ahoj.

    Dosť často, kvôli uľahčeniu práce, potrebujem napísať regulárny výraz, ktorý by našiel určité časti textového, HTML, XML apod. súboru.

    Uvažujme nasledujúci súbor (možno sa podobá na XML, ale zaujíma ma riešenie pomocou regulárneho výrazu):
     1. [ROOT]
     2.   [A]
     3.     nieco
     4.   [/A]
     5.   [A]
     6.     aaa
     7.   [/A]
     8.   [A]
     9.     nieco
    10.   [/A]
    11.   [B]
    12.     [C]
    13.       nieco
    14.     [/C]
    15.   [/B]
    16.   [A]
    17.     aaa
    18.   [/A]
    19.   [A]
    20.     nieco
    21.   [/A]
    22. [/ROOT]
    
    Chcem vyhľadať LEN tie časti/elementy "[A]..[/A]", ktoré v sebe (kdekoľvek, aj vo vnorenej časti/elemente) obsahujú text "aaa".

    Skúšal som nasledovné: (?s)\[A\].*?aaa.*?\[\/A\] ale nefunguje správne. Prvý match je od 2. po 7. riadok a druhý match je od 8. po 18. riadok. Čiže match obsahuje aj časti, ktoré nechcem...

    Čo vlastne potrebujem: Nájsť element [A], za ním (v ňom) hľadať text "aaa", ale hľadať ho iba dovtedy, kým nenarazím na koniec tohto elementu [/A].

    PS: Uvažujme, že v elemente A nemôže byť vnorený ďalší element A (ale iné môžu).

    Za radu vopred ďakujem.
    Mám rád elektro, ale vypočujem si aj iné...

    Odpovědi

    4.10.2007 09:30 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Reg. výraz na vyhľadanie určitých častí zo súboru
    Musíte zařídit, aby výplň okolo aaa nemohla obsahovat [A]. Zkusil bych
    (?s)\[A\](?!\[A\])*?aaa(?!\[A\])*?\[\/A\]
    Marián Oravec avatar 4.10.2007 09:39 Marián Oravec | skóre: 22 | Nitra
    Rozbalit Rozbalit vše Re: Reg. výraz na vyhľadanie určitých častí zo súboru
    Bohužiaľ toto nefunguje :-(
    Mám rád elektro, ale vypočujem si aj iné...
    4.10.2007 09:43 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Reg. výraz na vyhľadanie určitých častí zo súboru
    Nefunguje znamená co? Používáte program, který tomu regulárnímu výrazu nerozumí, najde to něco jiného, nenajde to nic?
    Marián Oravec avatar 4.10.2007 09:51 Marián Oravec | skóre: 22 | Nitra
    Rozbalit Rozbalit vše Re: Reg. výraz na vyhľadanie určitých častí zo súboru
    Nenájde to nič. Skúšal som viac modifikácií, napr. (?s)\[A\](?!\[A\]).*?aaa(?!\[A\]).*?\[\/A\] (bodky pred *), ale bez úspechu.
    Mám rád elektro, ale vypočujem si aj iné...
    4.10.2007 10:29 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Reg. výraz na vyhľadanie určitých častí zo súboru
    V tom případě zkuste toto (v eclipse to funguje):
    (?s)\[A\]([^\[]|\[(?!A))*?aaa.*?\[/A\]
    Marián Oravec avatar 4.10.2007 10:45 Marián Oravec | skóre: 22 | Nitra
    Rozbalit Rozbalit vše Re: Reg. výraz na vyhľadanie určitých častí zo súboru
    Ďakujem, tento regulárny výraz funguje správne. Je to presne to čo som potreboval. Ešte raz ďakujem a otázku označujem za vyriešenú.
    Mám rád elektro, ale vypočujem si aj iné...
    4.10.2007 09:35 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
    Rozbalit Rozbalit vše Re: Reg. výraz na vyhľadanie určitých častí zo súboru

    Tohle řešení by bylo přípustné (předpokládá uvedené formátování)?

    sed -n '/\[A\]/,/\[\/A\]/p' | \
       sed -n ':a;s#\[\/A\]#[/A]#;t b;N;b a;:b;/aaa/p'

    PS: Možná by to šlo udělat na jeden průchod (bez roury).

    I am always ready to learn although I do not always like to be taught. (W. Churchill)
    Marián Oravec avatar 4.10.2007 09:49 Marián Oravec | skóre: 22 | Nitra
    Rozbalit Rozbalit vše Re: Reg. výraz na vyhľadanie určitých častí zo súboru
    No super. Toto funguje. Síce neviem pracovať s programom sed, ale pokiaľ neprídem na niečo lepšie, tak je toto použiteľné. O regulárny výraz mi išlo preto, lebo som to chcel používať priamo v Eclipse, Kate... Takto je to trocha nepraktické, ale lepšie, ako prechádzať 0.5 MB XML po riadkoch. :-)

    V každom prípade ďakujem za pomoc.
    Mám rád elektro, ale vypočujem si aj iné...

    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.