Phooey. The lessons here are: if it looks good and seems to test well, it still might not be good -- test more; somewhat counterintuitively, {} match counts are slower than loops; some optimizations (e.g. those from
Aristotle's post) are not as much more effecient as they seem; and as
tilly and
bobn point out a correlary of the second lesson is that processing a string through multiple single REs is often better than one complex one.
--traveler