Re: [xsl] why matches($title,'.*?(\.|,)\s*$')) can perform so much worse than matches($title,'(\.|,)\s*$'))

Subject: Re: [xsl] why matches($title,'.*?(\.|,)\s*$')) can perform so much worse than matches($title,'(\.|,)\s*$'))
From: Michael Kay <mike@xxxxxxxxxxxx>
Date: Wed, 13 Jul 2011 15:13:47 +0100
It would be perfectly valid (and sensible) for a query processor to realise that the two expressions you gave were equivalent and so not perform n^2 tests, but I am unaware of a processor that makes these kinds of optimizations to regular expressions.

Actually I've heard it said that there's a wide variation between different regex engines in how well they handle this kind of thing. See for example here:


http://swtch.com/~rsc/regexp/regexp1.html

The article at

http://eyalsch.wordpress.com/2009/05/21/regex/

is also useful.

Michael Kay
Saxonica

Current Thread