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

    Komunita kolem Linuxu From Scratch (LFS) vydala Linux From Scratch 12.1 a Linux From Scratch 12.1 se systemd. Nové verze knih s návody na instalaci vlastního linuxového systému ze zdrojových kódů přichází s Glibc 2.39, Binutils 2.42 a Linuxem 6.7.4. Současně bylo oznámeno vydání verze 12.1 knih Beyond Linux From Scratch (BLFS) a Beyond Linux From Scratch se systemd.

    Ladislav Hagara | Komentářů: 0
    včera 22:22 | Upozornění

    Google blokuje Chaty RCS (Rich Communication Services neboli rozšířené komunikační služby) na telefonech s rootnutým Androidem nebo odemčeným zavaděčem [9to5Google].

    Ladislav Hagara | Komentářů: 7
    včera 12:22 | Komunita

    Bylo spuštěno hlasování o přednáškách a workshopech pro letošní Installfest, jenž proběhne o víkendu 16. a 17. března v Praze na Karlově náměstí 13. O open source hardwaru bude přednášet Mitch Altman.

    Ladislav Hagara | Komentářů: 1
    včera 08:00 | IT novinky

    Počítač NitroPC Pro 2 od společnosti Nitrokey s corebootem Dasharo byl oficiálně certifikován pro Qubes OS verze 4. Qubes OS (Wikipedie) je svobodný a otevřený operační systém zaměřený na bezpečnost desktopu.

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

    Mobilní operační systém /e/OS (Wikipedie) založený na Androidu / LineageOS, ale bez aplikací a služeb od Googlu, byl vydán ve verzi 1.20. Přehled novinek na GitLabu.

    Ladislav Hagara | Komentářů: 17
    29.2. 13:00 | IT novinky

    Jednodeskový počítač Raspberry Pi slaví 12 let. Prodej byl spuštěn 29. února 2012 (Wikipedie, 𝕏).

    Ladislav Hagara | Komentářů: 13
    29.2. 12:00 | Nová verze

    Byla vydána verze 3.2 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Přehled novinek v poznámkách k vydání. Využíván je Free Pascal Compiler (FPC) 3.2.2.

    Ladislav Hagara | Komentářů: 0
    29.2. 11:44 | Nová verze

    Byla vydána nová verze 1.6.0 grafického správce diskových oddílů GParted (GNOME Partition Editor) a také verze 1.6.0 živé distribuce GParted Live, která obsahuje tohoto správce a další nástroje pro zálohování či obnovu dat. Linux byl povýšen na verzi 6.6.15-2.

    Ladislav Hagara | Komentářů: 8
    29.2. 06:00 | Nová verze Ladislav Hagara | Komentářů: 0
    28.2. 22:44 | Nová verze

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

    Ladislav Hagara | Komentářů: 16
    Steam
     (18%)
     (31%)
     (9%)
     (11%)
     (31%)
    Celkem 55 hlasů
     Komentářů: 0
    Rozcestník

    Dotaz: REGEX v PERL-e

    13.11.2015 14:24 pupala | skóre: 21
    REGEX v PERL-e
    Přečteno: 226×
    Ahojte.

    Snaží sa do premennej vložiť údaje vyparsované z riadku perlom. Riadok vyzerá: Message: Access denied with code 403 (phase 2). Operator EQ matched 0 at REQUEST_HEADERS. [file "/etc/modsecurity/modsecurity_crs_21_protocol_anomalies.conf"] [line "47"] [id "960015"] [rev "2.2.5"] [msg "Request Missing an Accept Header"] [severity "CRITICAL"] [tag "PROTOCOL_VIOLATION/MISSING_HEADER_ACCEPT"] [tag "WASCTC/WASC-21"] [tag "OWASP_TOP_10/A7"] [tag "PCI/6.5.10"]

    Potrebujem doo jednej premennej uložiť hodnotu čísla v [id "xxx'] do druhej hodnotu reťazca v [msg "xxx"] a do tretej hodnotu reťazca v [file "xxxx"] a do štvrtej hodnotu z [line "xx"]

    Viem sa dostať iba po \[id "([\d]+)"\], čo je len prvá premenná.

    Ďakujem za prípadnú pomoc.

    Řešení dotazu:


    Odpovědi

    wamba avatar 13.11.2015 15:53 wamba | skóre: 38 | blog: wamba
    Rozbalit Rozbalit vše Re: REGEX v PERL-e
    Třeba takhle (napsáno nehezky):
    echo 'Message: Access denied with code 403 (phase 2). Operator EQ matched 0 at REQUEST_HEADERS. [file "/etc/modsecurity/modsecurity_crs_21_protocol_anomalies.conf"] [line "47"] [id "960015"] [rev "2.2.5"] [msg "Request Missing an Accept Header"] [severity "CRITICAL"] [tag "PROTOCOL_VIOLATION/MISSING_HEADER_ACCEPT"] [tag "WASCTC/WASC-21"] [tag "OWASP_TOP_10/A7"] [tag "PCI/6.5.10"]'|perl -MData::Dumper -nE 'my %a= (m/\[([^\]]+)\s+"([^"]+)"\]/g ); say Dumper \%a '
    
    This would have been so hard to fix when you don't know that there is in fact an easy fix.
    13.11.2015 16:02 martin-ux
    Rozbalit Rozbalit vše Re: REGEX v PERL-e
    #!/usr/bin/perl
    
    use warnings;
    use strict;
    use Data::Dumper;
    
    open (FILE, "<text") or die ("unable to open text: $!");
    
    my @array = split /\s+\[(.*?)\]\s+/, <FILE>;
    close (FILE);
    
    foreach (@array) {
            print $1 ."\n" if /"(.*)"/;
    }
    
    print "\n\narray dump:\n". Dumper(@array);
    
    
    tvoj string som si ulozil do suboru "text". v tomto pripade som ocakaval len jeden riadok v nom. vytvorim si pole rozdelene podla [.*]. text ktory ma zaujima je v paroch "".
    13.11.2015 19:58 pupala | skóre: 21
    Rozbalit Rozbalit vše Re: REGEX v PERL-e
    Ahojte, vytvoril som regex uvedený nižšie so šiestimi skupinami
    \[file "(.+)"\] \[line "([\d]+)"\] \[id "([\d]+)"\].+\[msg "(.+)"\] (\[data ".+"\])?.+\[severity "(.+)"\]
    Potreboval som to pre parsovanie audit logu modulu mod_security do apache a trochu tápem v regex-och a trvá mi dlho, kým sa na ne akotak naladím.
    Ďakujem Vám všetkým

    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.