Article View: be.comp.programming
Article #4971Re: Regex: hoe iets te excluden?
From: Roel Schroeven
Date: Tue, 27 May 2003 10:35
Date: Tue, 27 May 2003 10:35
64 lines
3750 bytes
3750 bytes
Walter Baeck wrote: >>>grep "[^(foo)]bar" >>> >>>wat leidt tot problemen: >>> - bar aan begin van regel wordt niet weerhouden >>> - bv. "fuifbar" wordt onterecht geweigerd >> >>Wij werken met de GNU-versie van grep en dan werkt het perfect. > > > Ik heb de raad van Kris De Decker gevolgd > (uit news:57388f65.0305171657.2f71e9ed@posting.google.com ) > en Regex Coach geinstalleerd. Dit is dan blijkbaar niet kompatibel > met jullie GNU-versie van grep; net zoals wat ik in Solaris grep > observeer, faalt de match op de twee situaties die ik aanhaalde. > > > >>Ik ken enkel wat van pattern matching die bij Perl toegepast wordt >>en her en der wat verschilt met bv sed en awk. >>Bij Perl dienen de haakjes om karakters samen te voegen >>(en te capturen in de variabelen $1, $2, enz) > > > Precies zoals ik het in Solaris sed gebruik. > Gelukkig hebben we toch nog ergens een gemeenschappelijk vertrekpunt :-) > > > >>Blijkbaar denkt uw grep-versie er anders over en geldt dan de negatie van >>enkel de letter f. Van zodra een string begint met f, is het pattern reeds >>false. > > > Ik vermoed dat grep "[^(foo)]bar hetzelfde is als grep "[^foo]bar" > onder de versie die ik gebruik. Als ik "man regexp" goed begrijp, > dan betekent dit dat er gezocht wordt op een string van precies > 4 karakters, van de vorm .bar waarbij er op het puntje geen letter > mag staan die voorkomt tussen in de "exclude list" [^foo]. > > > >>>Mijn oplossing zou dit monsterlijke gedrocht zijn: >>> >>>grep bar * | sed 's/foobar/ONGEWENST/g' | grep bar | sed >>>'s/ONGEWENST/foobar/g' >>> >>>Hopelijk weet er iemand iets eleganter. >> >>grep -ie "bar" <file>| grep -iv "foobar" > > > Dit lijkt me zeker niet de oplossing, aangezien O.P. vermeldde dat > blabla foobar bar blabla > toch WEL moest gematchd worden. Juist, Roel ? Dat maakt het nu net > zo moeilijk.. Inderdaad. Gelukkug werkt [^(foo)] wel hier. Lastig toch, dat er zo veel verschillen zijn tussen verschillende regex-implementaties. -- "Codito ergo sum" Roel Schroeven
Technical Details
Message-ID:
<MbHAa.21857$1u5.1798@afrodite.telenet-ops.be>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-04!sn-xit-06!sn-xit-08!supernews.com!38.144.126.75.MISMATCH!feed1.newsreader.com!newsreader.com!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newshosting.com!news-xfer1.atl.newshosting.com!newsfeed.kabelfoon.nl!212.113.2.136.MISMATCH!newsfeed.london1.eu.level3.net!level3eu!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mailReferences:
<pXlza.15654$1u5.1208@afrodite.telenet-ops.be> <l8mza.15670$1u5.1346@afrodite.telenet-ops.be> <Afmza.15691$1u5.1402@afrodite.telenet-ops.be> <Vkmza.15706$1u5.1417@afrodite.telenet-ops.be> <3ED1EF43.F24F54DD@alcatel.be> <pQmAa.20289$1u5.1344@afrodite.telenet-ops.be> <3ED339E4.B9DFA679@alcatel.be>Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit X-Google-Thread: fcea4,42e50ad98d9b8861 X-Google-Attributes: gidfcea4,public X-Google-ArrivalTime: 2003-05-27 03:36:05 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-04!sn-xit-06!sn-xit-08!supernews.com!38.144.126.75.MISMATCH!feed1.newsreader.com!newsreader.com!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newshosting.com!news-xfer1.atl.newshosting.com!newsfeed.kabelfoon.nl!212.113.2.136.MISMATCH!newsfeed.london1.eu.level3.net!level3eu!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail From: Roel Schroeven <j4nff5m02@sneakemail.com> User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4b) Gecko/20030507 X-Accept-Language: nl-be, nl, en-us, en MIME-Version: 1.0 Newsgroups: be.comp.programming Subject: Re: Regex: hoe iets te excluden? References: <pXlza.15654$1u5.1208@afrodite.telenet-ops.be> <l8mza.15670$1u5.1346@afrodite.telenet-ops.be> <Afmza.15691$1u5.1402@afrodite.telenet-ops.be> <Vkmza.15706$1u5.1417@afrodite.telenet-ops.be> <3ED1EF43.F24F54DD@alcatel.be> <pQmAa.20289$1u5.1344@afrodite.telenet-ops.be> <3ED339E4.B9DFA679@alcatel.be> In-Reply-To: <3ED339E4.B9DFA679@alcatel.be> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Lines: 65 Message-ID: <MbHAa.21857$1u5.1798@afrodite.telenet-ops.be> Date: Tue, 27 May 2003 10:35:24 GMT NNTP-Posting-Host: 213.119.50.245 X-Complaints-To: abuse@telenet.be X-Trace: afrodite.telenet-ops.be 1054031724 213.119.50.245 (Tue, 27 May 2003 12:35:24 MET DST) NNTP-Posting-Date: Tue, 27 May 2003 12:35:24 MET DST Organization: Telenet Internet