Your regex code works in online testers like PCRE engine.
But not in stringer because R uses the ICU regex engine, which does not preserve captures inside quantified grpups like (?: ...){n}.
As a result, only the last iteration is kept.