Perl正则表达式问题

itz*_*tzy 1 regex perl

假设我有变量

$x1 = 'XX a b XX c d XX';
$x2 = 'XX a b XX c d XX e f XX';
Run Code Online (Sandbox Code Playgroud)

我想要一个正则表达式,它将找到XX之间的每个字母实例.我正在寻找一个通用的解决方案,因为我不知道有多少XX.

我尝试使用/XX(.*?)XX/g,但这只匹配x1的"ab"和x2的"ab","ef",因为一旦找到第一个匹配,引擎已经读取了第二个"XX" .

谢谢你的帮助.