Date: Thu, 23 Jan 2014 15:42:16 -0700 (MST) From: Warren Block <wblock@wonkity.com> To: "'Devin Teske'" <dteske@FreeBSD.org> Cc: 'RW' <rwmaillists@googlemail.com>, freebsd-questions@freebsd.org Subject: RE: awk programming question Message-ID: <alpine.BSF.2.00.1401231537260.80613@wonkity.com> In-Reply-To: <04aa01cf187e$cfcf9ef0$6f6edcd0$@FreeBSD.org> References: <F01EB9CE742DEB17DB6B51C7@localhost> <alpine.BSF.2.00.1401230900270.76961@wonkity.com> <20140123185604.4cbd7611@gumby.homeunix.com> <04a201cf1878$8ebce540$ac36afc0$@FreeBSD.org> <alpine.BSF.2.00.1401231346520.80613@wonkity.com> <04aa01cf187e$cfcf9ef0$6f6edcd0$@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 23 Jan 2014, dteske@FreeBSD.org wrote: > > >> -----Original Message----- >> From: Warren Block [mailto:wblock@wonkity.com] >> Sent: Thursday, January 23, 2014 12:57 PM >> To: 'Devin Teske' >> Cc: 'RW'; freebsd-questions@freebsd.org >> Subject: RE: awk programming question >> >> On Thu, 23 Jan 2014, dteske@FreeBSD.org wrote: >> >>>> From: RW [mailto:rwmaillists@googlemail.com] >>>> Note that awk supports +, but not newfangled things like *. >>> >>> With respect to regex, what awk really needs is the quantifier syntax... >>> >>> * = {0,} = zero or more >>> + = {1,} = one or more >>> {x,y} = any quantity from x inclusively up to y {x,} = any quantity >>> from x or more >> >> I think RW meant to type that awk did not have the newfangled "?" for non- >> greedy matches. > > But that one is supported. Tested on 9.2-R and 10.0-R... > > echo abbb | awk '{sub(/a?bbb/, ""); print}' # produces NULL output > echo bbb | awk '{sub(/a?bbb/, ""); print}' # similarly produces NULL output > > Seems to be supported. But I'd really like to see {x,y} (the ? is equivalent > to {0,1}). No, the non-greedy modifier to a standard quantifier: echo "abczabczabcz" | perl -ne '/(a.*z)/; print "$1\n"' abczabczabcz echo "abczabczabcz" | perl -ne '/(a.*?z)/; print "$1\n"' abcz
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.00.1401231537260.80613>