
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.