Ich bin nicht sicher, ob dieses Problem mit regulären Ausdrücken (in Perl5-Syntax) lösbar ist, aber hier ist ein selbsterklärendes Beispiel:
smth Y1 test X foo X Y2 bar X Y1 X X Y2
s/?/Z/g
smth Y1 test Z foo Z Y2 bar X Y1 Z Z Y2
Es ist davon auszugehen, dass Y1 immer ein passendes Y2 hat und es keine Überschneidungen gibt.