在我的R教程的一个测验中(我只是应该选择正确的选项,但我想更深入地了解),我遇到了以下代码。我们正在定义一个向量,并(显然吗?)替换了某些模式:
awards <- c("Won 1 Oscar.",
"Won 1 Oscar. Another 9 wins & 24 nominations."
"1 win and 2 nominations.",
"2 wins & 3 nominations.",
"Nominated for 2 Golden Globes. 1 more win & 2 nominations.",
"4 wins & 1 nomination.")
sub(".*\\s([0-9]+)\\snomination.*$", "\\1", awards)
据我所知,我们正在寻找的模式是任意数量的字符,后跟一个空格,后跟一个数字,然后是一个空格,再加上“提名”,后跟任意数量的字符。
遇到此模式时,我们将数字打印到日志中。
执行此代码时,我得到以下输出
[1] "Won 1 Oscar." "24" "2" "3" "2"
[6] "1"
“获胜1项奥斯卡”行似乎不符合该格式,因为“ 1”后没有空格和“提名”一词。
那为什么将它包含在打印输出中?