: A , \\1 A. , 3 As. : X A A. Perl:
input = "AXXXA"
gsub("(?:A|(?<!^)\\G)\\KX(?=X*A)", "A", input, perl=TRUE)
:
[1] "AAAAA"
\G , \K A. (?=X*A) look-ahead , X A.
EDIT:
(, Xyz 123 A):
input = "123XyzXyzXyz123"
gsub("(?:123|(?<!^)\\G)\\KXyz(?=(?:Xyz)*123)", "A", input, perl=TRUE)
: [1] "123AAA123"
2:
2 A, \p{L} A:
gsub("(?:A|(?<!^)\\G)\\K\\p{L}(?=\\p{L}*A)", "A", input, perl=TRUE)
=> [1] "XSDFAAAAAA"