我无法理解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
中处理字符串的方式有关,它有自己的转义字符。有人可以在这里详细说明吗?