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í
×
    včera 23:22 | IT novinky

    Před 60 lety, 1. května 1964, byl představen programovací jazyk BASIC (Beginners' All-purpose Symbolic Instruction Code).

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

    Byla vydána nová verze 12.0 minimalistické linuxové distribuce (JeOS, Just enough Operating System) pro Kodi (dříve XBMC) a multimediálního centra LibreELEC (Libre Embedded Linux Entertainment Center). Jedná se o fork linuxové distribuce OpenELEC (Open Embedded Linux Entertainment Center). LibreELEC 12.0 přichází s Kodi 21.0 "Omega".

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

    Microsoft vydal novou velkou aktualizaci 2404.23 v září 2019 pod licencí SIL Open Font License (OFL) zveřejněné rodiny písma Cascadia Code pro zobrazování textu v emulátorech terminálu a vývojových prostředích.

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

    OpenTofu, tj. svobodný a otevřený fork Terraformu vzniknuvší jako reakce na přelicencování Terraformu z MPL na BSL (Business Source License) společností HashiCorp, bylo vydáno ve verzi 1.7.0. Přehled novinek v aktualizované dokumentaci. Vypíchnout lze State encryption.

    Ladislav Hagara | Komentářů: 0
    30.4. 23:55 | Humor

    Spouštět webový prohlížeč jenom kvůli nákupu kávy? Nestačí ssh? Stačí: ssh terminal.shop (𝕏).

    Ladislav Hagara | Komentářů: 9
    30.4. 18:11 | Nová verze

    Yocto Project byl vydán ve verzi 5.0. Její kódové jméno je Scarthgap. Yocto Project usnadňuje vývoj vestavěných (embedded) linuxových systémů na míru konkrétním zařízením. Cílem projektu je nabídnou vývojářům vše potřebné. Jedná se o projekt Linux Foundation.

    Ladislav Hagara | Komentářů: 0
    30.4. 17:56 | Nová verze

    Operační systém 9front, fork operačního systému Plan 9, byl vydán v nové verzi "do not install" (pdf). Více o 9front v FQA.

    Ladislav Hagara | Komentářů: 0
    30.4. 13:11 | Nová verze

    Svobodná webová platforma pro sdílení a přehrávání videí PeerTube (Wikipedie) byla vydána v nové verzi 6.1. Přehled novinek i s náhledy v oficiálním oznámení a na GitHubu. Řešeny jsou také 2 bezpečnostní chyby.

    Ladislav Hagara | Komentářů: 4
    30.4. 12:33 | Zajímavý software

    Lennart Poettering na Mastodonu představil utilitu run0. Jedná se o alternativu k příkazu sudo založenou na systemd. Bude součástí systemd verze 256.

    Ladislav Hagara | Komentářů: 28
    29.4. 23:22 | Nová verze

    Hudební přehrávač Amarok byl vydán v nové major verzi 3.0 postavené na Qt5/KDE Frameworks 5. Předchozí verze 2.9.0 vyšla před 6 lety a byla postavená na Qt4. Portace Amaroku na Qt6/KDE Frameworks 6 by měla začít v následujících měsících.

    Ladislav Hagara | Komentářů: 13
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (20%)
     (40%)
     (40%)
     (0%)
    Celkem 5 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: 230×
    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.