Date: Tue, 23 Oct 2001 19:53:20 +0200 From: Roman Neuhauser <neuhauser@mobil.cz> To: freebsd-questions@freebsd.org Subject: Re: regex(3), re_format(7) and shortest match Message-ID: <20011023195320.B8947@roman.mobil.cz> In-Reply-To: <20011023194940.A8947@roman.mobil.cz> References: <3BD5A7F4.748285AA@verizon.net> <20011023194940.A8947@roman.mobil.cz>
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>) What was I thinking... (<a[^<]*</a>) Sorry 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?20011023195320.B8947>