Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 Oct 2001 19:49:40 +0200
From:      Roman Neuhauser <neuhauser@mobil.cz>
To:        freebsd-questions@freebsd.org
Subject:   Re: regex(3), re_format(7) and shortest match
Message-ID:  <20011023194940.A8947@roman.mobil.cz>
In-Reply-To: <3BD5A7F4.748285AA@verizon.net>
References:  <3BD5A7F4.748285AA@verizon.net>

next in thread | previous in thread | raw e-mail | index | archive | help
> Date: Tue, 23 Oct 2001 10:25:08 -0700
> From: Shill <shill@free.fr>
> To: freebsd-questions@freebsd.org
> Subject: regex(3), re_format(7) and shortest match
> 
> Say I have the string:
> "yo <a --- </a> hiphop <a +++ </a> fun"
> 
> I want to isolate individual "<a ... </a>" subexpressions.
> 
> The naive regex I used was: (<a.*</a>)
> 
> Of course, that doesn't work since it returns the longest match, in my
> case "<a --- </a> hiphop <a +++ </a>".
> 
> I battled with bracket expressions and collating elements for three
> hours to no avail. Can anyone tell me how to achieve the shortest match?
> 
> i.e. the first call to regexec() would return "<a --- </a>" and the
> second would return "<a +++ </a>".

    Try this: (<a[^]]</a>)

    HTH,

    Roman
   

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




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