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

时间:2014-05-10 16:31:11

标签: regex r

我不确定为什么我无法获得在R / RStudio中工作的简单反向引用。

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

谢谢!

1 个答案:

答案 0 :(得分:6)

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

grepl('(name)\\1', 'namename')
## [1] TRUE

这是因为:

cat('(name)\\1')
## (name)\1

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

charToRaw('\1')
## [1] 01