Я не уверен, что эта проблема разрешима с помощью регулярных выражений (в синтаксисе Perl5), но вот очевидный пример:
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
Учтите, что у Y1 всегда есть совпадающий Y2, и нетперекрывание.