🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #4971

Re: Regex: hoe iets te excluden?

#4971
From: Roel Schroeven
Date: Tue, 27 May 2003 10:35
64 lines
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-mail
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>

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