这是来自datacamp.com测验中中级R课程的代码。
我不了解模式"^[0-9]+$"
的工作方式。
有人可以解释一下吗?
dates <- c("12/15/10", "12-2012", "12.2014", "1995")
grep(pattern = "^[0-9]+$", x = dates)
输出为4
答案 0 :(得分:0)
根据正则表达式
^ - Stands for beginning of the string
[0-9] - Numeric values
+ - One or more characters can satisfy the criteria
$ - Should check for the character that satisfy the criteria till the end of string
输入“ 12/15/10”,“ 12-2012”,“ 12.2014”,“ 1995”
该方法遍历每个值,并返回字符串中满足正则表达式的字符之和。
在您的示例中,要满足的条件是“仅包含数字字符的字符串”
"12/15/10" === Two "/" are the non numeric character.
"12-2012" === One "-" is a non numeric character.
"12.2014" === One "." is a non numeric character.
"1995" === Zero non numeric character. [Satisfy the criteria]
1995在输入向量中的索引为4。
如果您输入的是 日期<-c(“ 12/15 // 10”,“ 12-2012”,“ 12.20.14”,“ 1995”,“ 1987”) grep(pattern =“ ^ [0-9] + $”,x =日期)
输出将是一个值为4 5的向量,表示满足条件的值的索引。