我有一个字符串
XXXXYYYYZZZYYZZZYYYY
需要转换成
XXXXAAAYZZZAYZZZAAAY
$s =~ s/Y{2}+/AY/g;
这有2个问题,{2}+
会得到YYYY到AYAY;并且 AY 与 YYYY
的长度不同(期望 AAAY
)
如何在 perl 中完成这项工作?
最佳答案
使用“前瞻”:
$s =~ s/Y(?=Y+)/A/g;
(?=Y+)
表示“后跟一个或多个 Y
字符”,因此任何 Y
字符后跟另一个 Y
字符将被替换为 A
。
关于regex - 如何在 Perl 中替换连续且相同的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55712553/