On Tuesday 02 December 2008, Wes Hardaker wrote: > >>>>> On Mon, 1 Dec 2008 18:45:44 -0800, Dylan Beaudette > >>>>> <[EMAIL PROTECTED]> said: > > DB> ([0-9]?[\\.]?[0-9][Y|y|R|r]+[ > ]+?[0-9]/[0-9]).*?([0-9]?[\\.]?[0-9][Y|y|R|r]+[ ]+?[0-9]/[0-9]) Add '|' > here: ^ > > to become ...[0-9]|) > > Which will let the second pattern match against nothing so you'll get an > empty string as the result. > > > However, what if you need to match against 100 colors? It would be > better to loop over the string multiple times until no further matches > are found.
I was able to solve this problem by following the great advice that was suggested on vox-tech. Turns out that regexp_matches() with the 'g' (global) option will return a row for each match. I was then able to use a custom aggregate -- array_accum() to convert the multiple rows into a single array. Details on the array_accum() aggregate can be found here: http://www.postgresql.org/docs/8.3/static/xaggr.html Cheers, Dylan -- Dylan Beaudette Soil Resource Laboratory http://casoilresource.lawr.ucdavis.edu/ University of California at Davis 530.754.7341 _______________________________________________ vox-tech mailing list [email protected] http://lists.lugod.org/mailman/listinfo/vox-tech
