Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 06 Dec 2010 11:29:36 +1030
From:      Wayne Sierke <ws@au.dyndns.ws>
To:        Chip Camden <sterling@camdensoftware.com>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: regex question....
Message-ID:  <1291597176.2045.18.camel@predator-ii.buffyverse>
In-Reply-To: <20101205181945.GC39513@libertas.local.camdensoftware.com>
References:  <20101205002602.GA27499@thought.org> <AANLkTinXsSHj4kLha9SgR4T0Rn7TvH1cKmZ-pYe%2BgC-k@mail.gmail.com> <4cfaf16b./uHAeLS0wfpxq8FB%perryh@pluto.rain.com> <AANLkTinLu9Uiu0WRfo_-5QDWDnuQG7sXfGqFaVgXAd5u@mail.gmail.com> <20101205043257.GA3854@thought.org> <20101205084403.59ad70e7@gumby.homeunix.com> <20101205181945.GC39513@libertas.local.camdensoftware.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 2010-12-05 at 10:19 -0800, Chip Camden wrote:
> Quoth RW on Sunday, 05 December 2010:
> > On Sat, 4 Dec 2010 20:32:57 -0800
> > Gary Kline <kline@thought.org> wrote:
> > 
> > > On Sat, Dec 04, 2010 at 06:49:45PM -0800, xSAPPYx wrote:
> > 
> > > > Also, the + operator means '1 or more' but needs escaped:
> > > > %s/[0-9]\+/foo/g
> > > 
> > > 
> > > 	Okay.  I thought that the + must be perl-only regex... .
> > 
> > It's from "Extended" REs  rather than perl specifically, it  works
> > with sed -E but not plain sed. Not sure about vi.

> For me in works in vim but not in vi.

In vi it requires setting the "extended" option which is unset by
default - "set all" will display "noextended".

In POSIX "extended" REs '+' is a metacharacter so the expression for
"sed -E" and vi with "extended" enabled is simply "[0-9]+" (likewise for
"grep -E" etc).

It seems to be a "gnuism" that an escaped "+" works in "basic" REs, so
it works in grep, gnu sed (gsed) etc.

-- 

Wayne





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1291597176.2045.18.camel>