abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 14:33 | Pozvánky

    O víkendu 11. a 12. května lze navštívit Maker Faire Prague, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    včera 21:55 | Nová verze

    Byl vydán Fedora Asahi Remix 40, tj. linuxová distribuce pro Apple Silicon vycházející z Fedora Linuxu 40.

    Ladislav Hagara | Komentářů: 11
    včera 20:22 | IT novinky

    Představena byla služba Raspberry Pi Connect usnadňující vzdálený grafický přístup k vašim Raspberry Pi z webového prohlížeče. Odkudkoli. Zdarma. Zatím v beta verzi. Detaily v dokumentaci.

    Ladislav Hagara | Komentářů: 2
    včera 12:55 | Nová verze

    Byla vydána verze R14.1.2 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.

    JZD | Komentářů: 0
    7.5. 18:55 | IT novinky

    Dnešním dnem lze již také v Česku nakupovat na Google Store (telefony a sluchátka Google Pixel).

    Ladislav Hagara | Komentářů: 10
    7.5. 18:33 | IT novinky

    Apple představil (keynote) iPad Pro s čipem Apple M4, předělaný iPad Air ve dvou velikostech a nový Apple Pencil Pro.

    Ladislav Hagara | Komentářů: 3
    7.5. 17:11 | Nová verze

    Richard Biener oznámil vydání verze 14.1 (14.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 14. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.

    Ladislav Hagara | Komentářů: 0
    7.5. 13:44 | Komunita

    Free Software Foundation zveřejnila ocenění Free Software Awards za rok 2023. Vybráni byli Bruno Haible za dlouhodobé příspěvky a správu knihovny Gnulib, nováček Nick Logozzo za front-end Parabolic pro yt-dlp a tým Mission logiciels libres francouzského státu za nasazování svobodného softwaru do praxe.

    Fluttershy, yay! | Komentářů: 0
    7.5. 13:11 | IT novinky

    Před 10 lety Microsoft dokončil akvizici divize mobilních telefonů společnosti Nokia a pod značkou Microsoft Mobile ji zanedlouho pohřbil.

    Ladislav Hagara | Komentářů: 2
    6.5. 21:33 | Komunita

    Fedora 40 release party v Praze proběhne v pátek 17. května od 18:30 v prostorách společnosti Etnetera Core na adrese Jankovcova 1037/49, Praha 7. Součástí bude program kratších přednášek o novinkách ve Fedoře.

    Ladislav Hagara | Komentářů: 5
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (63%)
     (8%)
     (13%)
     (16%)
    Celkem 145 hlasů
     Komentářů: 10, poslední včera 17:35
    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: 254×
    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.