🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.perl
Article #39783

Re: pierwsze podejscie nietrafione: regex w wielu liniach, mam problem

#39783
From: Maciej Misiak
Date: Tue, 19 Oct 2004 10:41
71 lines
3079 bytes
> No wiec wykonalem test:
> 
> ######### TO JEST TO KONTROWERSYJNE WYRAZENIE ################
> $line=~/Job\s*(.+)\n
>          $smieci
>          (?:Job\ Type             $dwukropek (.+)\n)?
>          $smieci
>          (?:Backup\ mode          $dwukropek (.+)\n)?
>          $smieci
>          (?:Job Start\ Time       $dwukropek (.+)\n)?
Tu zabraklo backslasha, powinno byc Job\ Start\ Type

> my @tab=(0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10);  #bo lubie liczyc od 1 :)
No jak lubisz to nie ma sprawy ;)

> czyli kicha :( bo tutaj (?:.....)? nie jest do niczego zmuszane,
Taa, dopiero teraz jak sobie sam sprawdzilem to do mnie dotarlo z czym od 
poczatku masz problem.
Po pierwsze troche poprawilem tego regexpa oraz $smieci. /m na koncu nie jest 
potrzebne bo nie uzywamy w regexpie ani ^ ani $.

my $smieci='(?:.|\n)*?';
my $dwukropek='\s*?:\s*?';

######### TO JEST TO KONTROWERSYJNE WYRAZENIE ################
$line=~/Job\s*(.+)\n
        $smieci
        Job\ Type             $dwukropek (.+)\n
        $smieci
        Backup\ mode          $dwukropek (.+)\n
        $smieci
        Job\ Start\ Time       $dwukropek (.+)\n
        $smieci
        (?:Media      $dwukropek (.+)\n)?
        $smieci
        (?:Backup\ Last\ Objects? $dwukropek (.+)\n)?  #dorzucilem brakujacy 
znak '?'
        $smieci
        (?:Job\ End\ Time        $dwukropek (.+)\n)?
        $smieci
        Completed\ Size       $dwukropek (.+)\n
        $smieci
        (?:Failed\ Objects       $dwukropek (.+)\n)?
        $smieci
        (?:(Job\ Completed\ Succ?essfully).*\n)?
        $smieci
        (?:Media $dwukropek Home\\.+? - .+? \\ ([^\n\\]+))?
        /x;

Output wyglada tak:

$1 = Testowe zadanie
$2 =  Backup Job
$3 =  Full
$4 =  14-Jul-2002 01:00 Pm
$5 = UNDEF
$6 = UNDEF
$7 = UNDEF
$8 =  96626454 Kbytes
$9 = UNDEF
$10 = UNDEF

A wiec jedyne co jest do zrobienia to w sekcji $smieci zabronic kropce lykania 
interesujacych nas ciagow jakims, na moje oko, interesujacym assertem. Jeszcze 
nad tym posiedze.

pzdr
Grizzley

-- 
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
Technical Details
Message-ID: <30b7.00000127.4174ef5d@newsgate.onet.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!newsgate.onet.pl!niusy.onet.pl
References: <cl2lrg$5lg$1@news.lublin.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!newsgate.onet.pl!niusy.onet.pl
From: "Maciej Misiak" <grizzleyWYTNIJTO@op.pl>
Newsgroups: pl.comp.lang.perl
Subject: Re: pierwsze podejscie nietrafione: regex w wielu liniach,    mam problem
Date: 19 Oct 2004 12:41:33 +0200
Organization: Onet.pl SA
Lines: 71
Message-ID: <30b7.00000127.4174ef5d@newsgate.onet.pl>
References: <cl2lrg$5lg$1@news.lublin.pl>
NNTP-Posting-Host: newsgate.onet.pl
Mime-Version: 1.0
X-Trace: newsgate.test.onet.pl 1098182493 30346 213.180.130.18 (19 Oct 2004 10:41:33 GMT)
X-Complaints-To: abuse@onet.pl
NNTP-Posting-Date: 19 Oct 2004 10:41:33 GMT
X-Mailer: http://niusy.onet.pl
X-Forwarded-For: 217.153.136.40, 157.25.5.66, 192.168.243.37
X-User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit