R

时间:2016-06-06 23:46:23

标签: regex r metacharacters

我无法理解R正则表达式函数中使用的元字符的语法。例如,我有以下字符向量;

x<-c("See 053 2001",
     "Related to 0324 2015")

如果我使用grep函数匹配由空格字符分隔的数字串和我对正则表达式的基本理解,我会写下面的内容(即应该有效):

grep("F[0-9]{4}\s[0-9]", x, value = TRUE)
#returning 'Error: '\s' is an unrecognized escape in character string 
#starting ""F[0-9]{4}\s"'

好吧,鉴于Regular Expressions as used in R文档说明

,这对我来说很困惑
  

符号\ d,\ s,\ D和\ S表示数字和空格类及其类   否定...

但是,从播放并阅读有关堆栈溢出的其他[正则表达式]问题,我注意到以下 找到我正在寻找的匹配。

grep("F[0-9]{4}\\s[0-9]", x)#Or
grep("F[0-9]{4} [0-9]", x)
[1] 2

我猜这与R中处理字符串的方式有关,它有自己的转义字符。有人可以在这里详细说明吗?

0 个答案:

没有答案