R中的反向引用(正则表达式)

mon*_*iz7 5 regex r

我不确定为什么我不能在R/RStudio中使用简单的后向引用.

grepl('name\1','namename')返回FALSE. grepl('(name)\1','namename')也不好.我究竟做错了什么?

谢谢!

gag*_*ews 7

之前使用双反冲1(正则表达式引擎将其理解为单个反斜杠):

grepl('(name)\\1', 'namename')
## [1] TRUE
Run Code Online (Sandbox Code Playgroud)

这是因为:

cat('(name)\\1')
## (name)\1
Run Code Online (Sandbox Code Playgroud)

在您的情况下,\1 == \001表示代码1的ASCII字符.

charToRaw('\1')
## [1] 01
Run Code Online (Sandbox Code Playgroud)