Hi!
On Wed, August 19, 2009 22:55, River Tarnell wrote:
after the web server change on Wednesday, we noticed the following behaviour of regexp matching in rewrite scripts: when using a construct like "(a|b|)", the regexp will *not* match the empty string. as a workaround, you can write "(a|b)?". if you do not use this construct in your rewrite.script, this does not affect you.
I'm not very experienced in rewrite-regexp. But in perl (and php's pcre, ...) this would not be a good work-around, because the capture buffer would sometimes be created and sometimes not.
If one does not need capture buffers, he should write (?:a|b)? If one needs capture buffers but can't use (a|b|), he should use ((?:a|b)?) This will in any case make it possible to use a corresponding backreference.
All this holds for perl, I'm not sure whether this is releveant for rewrite-regexp. If it does not, you may just call me clever shit, I guess. :-)
prosit seth