在 R 中的正则表达式中使用组和反向引用 - stringr::str_replace

Raf*_*edo 2 regex r stringr

我有一个简单的情况,但我很难在正则表达式中使用反向引用。我怎么能做到这一点stringr::str_replace

例如,我想test.txttest.evaluation.txt. 我希望是这样的:

stringr::str_replace("test.txt", "\\.(\\1)$", ".evaluation.(\\1)")
Run Code Online (Sandbox Code Playgroud)

我想使用组“1”来保存文件格式。如果有人可以帮助以这种格式回答问题,请提前致谢。

Nel*_*Gon 5

编辑stringr

stringr::str_replace_all(my_string,"([a-z])(.txt)","\\1.evaluation\\2")
[1] "test.evaluation.txt"
Run Code Online (Sandbox Code Playgroud)

不是最有效的:

my_string<-"test.txt"
res<-unlist(strsplit(my_string,"\\."))
paste0(res[1],".evaluation.",res[2])
[1] "test.evaluation.txt"
Run Code Online (Sandbox Code Playgroud)