我无法理解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"'
好的,这让我感到困惑,因为R文档中使用的正则表达式指出
符号 \d、\s、\D 和 \S 表示数字和空间类及其否定...
但是,通过玩耍和阅读有关堆栈溢出的其他 [regex] 问题,我注意到以下内容确实找到了我正在寻找的匹配项。
grep("F[0-9]{4}\\s[0-9]", x)#Or
grep("F[0-9]{4} [0-9]", x)
[1] 2
我猜这与处理字符串的方式有关R
,它有自己的转义字符。有人可以在这里详细说明吗?