in reply to Capturing with look-ahead

Sorry, but you're out of luck. Your only chance is to use (?=(..)) instead. Putting capturing parentheses outside of a look-ahead is useless, because the look-ahead doesn't advance in the string when it's done -- it stays put. You can cheat by putting capturing parentheses in the look-ahead itself, though, as you have seen.

_____________________________________________________
Jeff[japhy]Pinyan: Perl, regex, and perl hacker, who'd like a (from-home) job
s++=END;++y(;-P)}y js++=;shajsj<++y(p-q)}?print:??;