|
Boost : |
From: John Maddock (john_at_[hidden])
Date: 2005-12-05 13:22:43
> We observe a regression in the regex library compared to 1.32.0.
> The following program:
> prints "testE.idlE.idl" when compiled and linked against 1.33.x
> and "testE.idl" against previous versions.
I'm afraid it's not a regression, it's a fix!
The expression you're using can match a zero-length string, so after it's
matched the ".cidl" suffix, it then finds a second match of zero-length
immediately afterwards, hense the two copies of "E.idl" in the output
string.
I'm afraid this dark corner was/is under-documented in the docs, but the TR1
text (with which this version is intended to conform) is quite clear that
this is the required behaviour.
As a workaround, you could specify format_first_only in the format flags
(assuming you're replacing the suffix on a single filename), or you could
use an expression like:
(.)(\\.(idl|cidl|cdl))?$
and replace with:
$1E.idl
HTH,
John.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk