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 05:11 | Nová verze

    Byla vydána nová verze 10.8 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Přibyl balíček DietPi WireGuard.

    Ladislav Hagara | Komentářů: 0
    včera 21:22 | Pozvánky

    Oslavte vydání openSUSE Leap 16.1 s námi v Praze! Ve středu 4. listopadu 2026 (den po vydání Leapu 16.1) vás zveme na malou oslavu vydání openSUSE Leap 16.1 do pražské kanceláře SUSE. Připravili jsme pro vás dvě krátké přednášky: … více »

    lkocman | Komentářů: 0
    včera 16:44 | Bezpečnostní upozornění

    Dle plánu bylo PHP vydáno v nových verzích 8.5.12, 8.4.27, 8.3.36 a 8.2.35. Opraveny jsou kritické zranitelnosti CVE-2026-109618 a CVE-2026-109619 aneb PHP2Shell.

    Ladislav Hagara | Komentářů: 4
    včera 11:55 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04-2.1 a 24.04-1.5. S opravou kritických zranitelností.

    Ladislav Hagara | Komentářů: 0
    včera 11:33 | IT novinky

    Společnost Škoda Auto zveřejnila na Printables bezplatné 3D modely příslušenství do svých vozů (držáky na nápoje, pomůcky pro vedení kabelů, mincovníky, háčky na USB kabely a čepice pro kapsy na zadních stranách opěradel sedadel, držáky na telefony a úchyty pro horní upevnění bezpečnostních pásů).

    Ladislav Hagara | Komentářů: 7
    včera 05:11 | Zajímavý článek

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 170 (pdf).

    Ladislav Hagara | Komentářů: 0
    včera 04:33 | Bezpečnostní upozornění

    Dnes v 16:00 (14:00 UTC) budou opraveny 2 kritické zranitelnosti s CVSS 9.2 v PHP.

    Ladislav Hagara | Komentářů: 7
    včera 01:37 | Bezpečnostní upozornění

    Nizozemská policie 13. října 2026 zabavila v datacentru Amsterdam Science Park server italského poskytovatele internetových služeb Autistici/Inventati (A/I), a to na základě americké žádosti o mezinárodní právní pomoc.… více »

    vencour | Komentářů: 10
    20.10. 20:47 | Bezpečnostní upozornění
    Hlášeny RCE v NGINX. Náprava dostupná. … více »
    vencour | Komentářů: 0
    20.10. 20:33 | IT novinky

    Do 26. října do 18:00 běží na Steamu přehlídka nadcházejících her Festival Steam Next | říjen 2026 (YouTube) doplněná demoverzemi, přenosy a dalšími aktivitami. Demoverze lze hrát zdarma.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (30%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2888 hlasů
     Komentářů: 33, poslední 20.10. 23:44
    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: 431×
    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: 67 | 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: 67 | 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: 67 | 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: 67 | 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: 67 | 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ákno • Nahoru

    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.