test.dat <- c("abcde", "abcXe", "abcdY", "abcXY")
gsub("(XY?|Y)", "1\\1", test.dat)
library(stringr)
str_replace_all(test.dat, "(XY?|Y)", "1\\1")
dGVzdC5kYXQgPC0gYygiYWJjZGUiLCAiYWJjWGUiLCAiYWJjZFkiLCAiYWJjWFkiKQpnc3ViKCIoWFk/fFkpIiwgIjFcXDEiLCB0ZXN0LmRhdCkKCmxpYnJhcnkoc3RyaW5ncikKc3RyX3JlcGxhY2VfYWxsKHRlc3QuZGF0LCAiKFhZP3xZKSIsICIxXFwxIik=