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

    Wings 3D, tj. open source 3D modelovací program naprogramovaný v programovacím jazyce Erlang zaměřený na modelování pomocí subdivision a inspirovaný programy Nendo a Mirai od Izware, byl vydán v nové opravné verzi 2.4.1. Ke stažení již také ve formátu Flatpak z Flathubu.

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

    Webový prohlížeč Dillo byl vydán ve verzi 3.2.0. Přidává podporu vzorců v SVG, obrázků ve WebP, změny velikosti stránky či možností posouvání. Nedávno oslavil 25. výročí vzniku.

    Fluttershy, yay! | Komentářů: 0
    včera 01:33 | Zajímavý software

    Hra Mini Thief je na Steamu zdarma napořád, když aktivaci provedete do 24. ledna do 19.00 [ProtonDB].

    Ladislav Hagara | Komentářů: 0
    16.1. 22:00 | IT novinky

    Certifikační autorita Let's Encrypt oznámila, že bude volitelně nabízet krátkodobé certifikáty s šestidenní platností a navíc s možností vystavit je na IP adresu. Zvolit typ certifikátu bude možné v certifikačním profilu ACME.

    Ladislav Hagara | Komentářů: 9
    16.1. 21:22 | IT novinky

    Herní konzole Nintendo Switch 2 byla oficiálně potvrzena. Vyjde letos. Trailer na YouTube. Více ve středu 2. dubna na Nintendo Direct.

    Ladislav Hagara | Komentářů: 4
    16.1. 17:33 | Nová verze

    Byl vydán Linux Mint 22.1 s kódovým jménem Xia. Podrobnosti v přehledu novinek a poznámkách k vydání. Linux Mint 22.1 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 0
    15.1. 19:33 | Nová verze

    Google Chrome 132 byl prohlášen za stabilní. Nejnovější stabilní verze 132.0.6834.83 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 16 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře (YouTube).

    Ladislav Hagara | Komentářů: 0
    15.1. 14:22 | Nová verze

    Byla vydána verze 11.0.0 knihovny libvirt (Wikipedie) zastřešující různé virtualizační technologie a vytvářející jednotné rozhraní pro správu virtuálních strojů. Současně byl ve verzi 11.0.0 vydán související modul pro Python libvirt-python. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    15.1. 14:00 | Nová verze

    Byla vydána nová verze 3.4.0 nástroje pro inkrementální kopírování souborů rsync (Wikipedie). Přehled oprav a vylepšení v souboru NEWS. Řešeno je 6 zranitelností.

    Ladislav Hagara | Komentářů: 0
    15.1. 02:55 | IT novinky

    V srpnu loňského roku byla vyhlášena RP2350 Hacking Challenge aneb oficiální výzva Raspberry Pi na prolomení bezpečnosti mikrokontroléru RP2350. Povedlo se. Včera byli představeni čtyři vítězové a jejich techniky.

    Ladislav Hagara | Komentářů: 21
    Rozcestník

    Dotaz: Pomoc s regularnim vyrazem

    irenicus avatar 9.5.2007 14:23 irenicus | skóre: 6
    Pomoc s regularnim vyrazem
    Přečteno: 232×
    Dobry den, dokaze nekdo napsat regularni vyraz ktery odseparuje jednotlive polozky nasledujiciho zaznamu z logu apache ?
    10.10.13.10 - - [09/May/2007:10:44:24 +0200] "GET /joomla/index.php HTTP/1.1" 200 8845
    vysledkem by mel o byti toto:
    10.10.13.10
    -
    -
    [09/May/2007:10:44:24 +0200]
    "GET /joomla/index.php HTTP/1.1"
    200
    8845
    
    Bojuji s tim uz dlouho a opravdu si nevim rady :-( ... pripadne by mi pomohlo kdyby nekdo "vytahl" alespon retezce
    [09/May/2007:10:44:24 +0200]
    "GET /joomla/index.php HTTP/1.1"
    

    Odpovědi

    9.5.2007 14:36 pasmen | skóre: 45 | blog: glob | Praha
    Rozbalit Rozbalit vše Re: Pomoc s regularnim vyrazem
    (\d+\.\d+\.\d+\.\d+)\s*?(\-)\s*?(\-)\s*?(\[.*\])\s*?(\".*\")\s*?(\d+)\s*?(\d+)
    9.5.2007 14:48 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Pomoc s regularnim vyrazem
    Navrhuji pouze drobnou změnu:
    (\d+\.\d+\.\d+\.\d+)\s*?(\-)\s*?(\-)\s*?(\[.*?\])\s*?(\".*\")\s*?(\d+)\s*?(\d+)
    9.5.2007 14:57 pasmen | skóre: 45 | blog: glob | Praha
    Rozbalit Rozbalit vše Re: Pomoc s regularnim vyrazem
    Jo na tohle jsem zapomnel, nicmene struktura retezce by chybu dopustit nemela. Ale jistota je jistota ;-) Jinak jeste pro autora: vyborna vec na hrani si s a testovani regularnich vyrazu je Pyreb.
    irenicus avatar 9.5.2007 15:03 irenicus | skóre: 6
    Rozbalit Rozbalit vše Re: Pomoc s regularnim vyrazem
    Dik vsem za bleskovou reakci ... musim vice studovat :-)
    9.5.2007 15:15 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Pomoc s regularnim vyrazem
    No, kdyby nějaký poťouchlý webový klient poslal dotaz třeba
    GET /?]" HTTP/1.0
    Host: example.com
    Pokud to tedy Apache do logu uloží neescapovaně (jako např. Jetty)…
    9.5.2007 15:36 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Pomoc s regularnim vyrazem
    hmm, apache to do logu uloží ako \" ... v tom prípade pomôže pridať na koniec $ ... a v mojej nižšie zapísanej verzii treba aj %r opraviť na .*, popr .*?, popr trochu zložitejšie (?: (?:\\\\)* (?:\\\")?[^\"])*
    9.5.2007 15:28 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Pomoc s regularnim vyrazem
    pozor na chyby, v combined logu nie vždy musia byť %l a %u nevyplnené ...
    qr/
    (\S+)             # %h
    \s+ (\S+)         # %l
    \s+ (\S+)         # %u
    \s+ (\[[^\]]*\])  # %t
    \s+ (\"[^\"]*\")  # \"%r\"
    \s+ (\d+)         # %>s
    \s+ (\S+)         # %b
    /x
    
    %b môže obsahovať aj -.

    irenicus avatar 9.5.2007 15:22 irenicus | skóre: 6
    Rozbalit Rozbalit vše Re: Pomoc s regularnim vyrazem
    Hmmm .... co kdyby byl LogFormat libovolne definovan ? Mohl bych preformulovat ulohu asi takto:

    Vrat vsechny souvisle casti textu: za souvislou cast testu povazuj ty casti jenz jsou vymezeny [] nebo "" jinak vse ostatni jenz neobsahuje mezeru.
    9.5.2007 15:46 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Pomoc s regularnim vyrazem
    Na to už bych doporučoval napsat si nějaký miniparser (1 cyklus, pár switchů nebo ifů, za 5 minut hotovo), bude to jednodušší, než se mořit s vyhlížením v regulárních výrazech (a kdo ví, zda by to i s tím vyhlížením šlo; navíc ne každý RE engine vyhlížení umí).
    irenicus avatar 9.5.2007 15:50 irenicus | skóre: 6
    Rozbalit Rozbalit vše Re: Pomoc s regularnim vyrazem
    Kazdopadne jsem s tim jiz zacal. Snazil jsme se pouze najit elegantni reseni a RegExp se mi pripadali jako spravna cesta.
    9.5.2007 16:09 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Pomoc s regularnim vyrazem
    perl, bez look(ahead/behind) :-)
    pri troche odvahy to možno aj v php niekto vyskúša s/( (?: [^\[\"]\S* ) | (?: \" (?: (?:\\\\)* (?:\\\")?[^\"])* \" ) | (?: \[ .*? \] ) ) \s+/$1\n/xg; my @vars = split /\n/;

    (ps. netestované, nechcelo sa mi ...)

    9.5.2007 16:39 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Pomoc s regularnim vyrazem
    Asi jo :-) Jinak hezká ukázka toho, že RE je lepší používat jen na jednoduché věci nebo jednorázově, protože složitější RE jsou write-only ;-)
    9.5.2007 16:48 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Pomoc s regularnim vyrazem
    write-only? pôvodne som to chcel dať do <pre>, ale sekol som sa :-D
    čudoval by ste sa, čo urobí pár nových riadkov a medzier s čitateľnosťou :-)
    9.5.2007 17:13 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Pomoc s regularnim vyrazem
    Já jsem se na to díval samozřejmě do zdrojáku HTML, kde to je odřádkované :-) Ale stejně, že by bylo na první pohled jasné, co to dělá… Tenhle konkrétní případ je ještě dobrý, ale pak si někdo vzpomene, že tam mohou být i jednoduché uvozovky, a je problém. Tedy ne že bych sám nenapsal složitější RE. Ale tohle je podle mě dobrý příklad toho, že RE jsou sice mocné, ale občas se vyplatí použít něco tak obyčejného, jako cyklus a switch.

    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.