Article View: pl.comp.lang.perl
Article #39773Re: regex w wielu liniach, mam problem
From: Grzegorz Szyszlo
Date: Mon, 18 Oct 2004 08:32
Date: Mon, 18 Oct 2004 08:32
46 lines
2707 bytes
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-mailReferences:
<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