August 18, 2009
const char[] re1 = `(re)1`;
const char[] re2 = `(re)2`;
char[] matchWrite(RegExp re)
{
writefln(re.match(1),`,`,re.match(2));
return "";
}
std.regexp.sub(`re1 re2`, re1~'|'~re2, &matchWrite, "g");

--- prints
re,
re,re // shouldn't this be `,re`?


August 18, 2009
Reply to Saaa,

> const char[] re1 = `(re)1`;
> const char[] re2 = `(re)2`;
> char[] matchWrite(RegExp re)
> {
> writefln(re.match(1),`,`,re.match(2));
> return "";
> }
> std.regexp.sub(`re1 re2`, re1~'|'~re2, &matchWrite, "g");
> --- prints
> re,
> re,re // shouldn't this be `,re`?

I *think* you are correct. If I had to guess, I'd do with it's an old data issue.