🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: regex w wielu liniach, mam problem

#39773
From: Grzegorz Szyszlo
Date: Mon, 18 Oct 2004 08:32
46 lines
2707 bytes
Michal Jankowski wrote:
> Grzegorz Szyszlo <znik@wbc.lublin.pl> writes:
> 
> 
>>$a=~/
>>^.*?(jest).*?$  #to jest ok
>>^.*?(to).*?$    #jak tu wpisze nawet sam daszek, to sie wali
>>/xsm;
> 
> 
>>chodzi o druga linie z komentarzem. jak ja wpisze, to juz
>>mi nie dopasowuje calego wyrazenia :(
>>ja moge takie wyrazenie poprawnie zapisac?
> 
> 
> Nie bardzo wiem, o co ci wlasciwie chodzi - ale przeciez sekwencja 
> / .... $ ^ .... /xm
> nigdy niczego nie dopasuje, bo pomiedzy "$ = na koncu linii" a "^ = na
> poczatku (nastepnej) linii" powinien byc jeszcze sam znak konca linii...
> 
> Zamien te dolary na "$ \n" to cos dopasuje... 
> 
> Aha, i /s wydaje sie niepotrzebne.

nie pomyslalem o tym, ze same znaki konca linii tez nalezy przelknac.
dzieki za naprowadzenie :) faktycznie, pomiedzy $ a ^ jest jeszcze \n .
co do /s , w tym przypadku nie jest potrzebne, ale to tylko przyklad
z ktorym sobie nie moge poradzic. po prostu analizuje plik z logiem
z programu archiwizujacego, i musze powyciagac kilkanascie nazw
i liczb, a te dane sa umieszczone w kilku wierszach.
chce wszystko zrobic regexpem, bo wczesniej zrobilem w petli
wczytujac linia po linii. poniewaz w roznych logach moze brakowac
roznych partii logu, to cala petla byla dosyc zlozona. a ja sobie
pomyslalem, niech regexp za mnie odwali robote :) tylko nie do konca
wiem jak go do tego zmusic.

teraz mam caly log (max. 16KB)
wciagniety do jednej zmiennej. na wydajnosci specjalnie mi nie zalezy,
bo takich logow moge miec do 5ciu na dobe.

po twojej radzie, wyrazenie wreszcie zaczyna mi dzialac.
zastanawiam sie jeszcze co zrobic z /s , bo bede mial
potrzebe przeskoczenia przez wiele linii, ktore nie zawieraja
zadnych istotnych informacji.

dzieki :) lece dalej klepac kod. znik.
Technical Details
Message-ID: <ckvv3q$ol3$1@news.lublin.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!lublin.pl!news.lublin.pl!not-for-mail
References: <ckvngq$hal$1@news.lublin.pl> <2n3c0c4fsk.fsf@ccfs1.fuw.edu.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!lublin.pl!news.lublin.pl!not-for-mail
From: Grzegorz Szyszlo <znik@wbc.lublin.pl>
Newsgroups: pl.comp.lang.perl
Subject: Re: regex w wielu liniach, mam problem
Date: Mon, 18 Oct 2004 10:32:11 +0200
Organization: lubman
Lines: 47
Message-ID: <ckvv3q$ol3$1@news.lublin.pl>
References: <ckvngq$hal$1@news.lublin.pl> <2n3c0c4fsk.fsf@ccfs1.fuw.edu.pl>
NNTP-Posting-Host: user.wbc.lublin.pl
Mime-Version: 1.0
X-Trace: news.lublin.pl 1098088378 25251 212.182.104.10 (18 Oct 2004 08:32:58 GMT)
X-Complaints-To: abuse@news.lublin.pl
NNTP-Posting-Date: Mon, 18 Oct 2004 08:32:58 +0000 (UTC)
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030721 Debian/1.4-1.nobse.2
X-Accept-Language: pl, en-us
In-Reply-To: <2n3c0c4fsk.fsf@ccfs1.fuw.edu.pl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit