为什么';t grepl在grepl中返回true(“*”,字母,fixed=t)?

为什么';t grepl在grepl中返回true(“*”,字母,fixed=t)?,r,regex,grepl,R,Regex,Grepl,我希望这段代码返回26的向量TRUE,但它返回的是所有FALSE grepl(".*", LETTERS, fixed=T) 在文档中,“grepl返回一个逻辑向量(x的每个元素是否匹配)” “*”是一个匹配项,所以它不应该返回所有TRUE,因为它匹配每个字母吗?告诉我这里缺少什么。我们需要删除fixed=TRUE grepl(".*", LETTERS) asfixed=TRUE意味着和*是字符串中可用的文字字符。在这里,在字母中,我们没有任何或*。这些元字符意味着(任何字符),*(0个或

我希望这段代码返回26的向量
TRUE
,但它返回的是所有
FALSE

grepl(".*", LETTERS, fixed=T)
在文档中,“grepl返回一个逻辑向量(x的每个元素是否匹配)”


“*”
是一个匹配项,所以它不应该返回所有
TRUE
,因为它匹配每个字母吗?告诉我这里缺少什么。

我们需要删除
fixed=TRUE

grepl(".*", LETTERS)

as
fixed=TRUE
意味着
*
是字符串中可用的文字字符。在这里,在
字母中,我们没有任何
*
。这些元字符意味着
(任何字符),
*
(0个或更多字符)

匹配的字符多于字母。它匹配TRE正则表达式中的任何字符。@WiktorStribiżew我知道,但是如果它确实匹配字母,它不应该匹配吗?请参见下面的答案。您正在查找的是
*
,而不是任何字符。看看这个。好的,修复是否意味着它忽略所有正则表达式符号?在看了其他问题后,我并不是这样解释的。我已经阅读了帮助文件。@Holly
fixed=TRUE
与文字字符相匹配,例如
grepl(“*”、c(“.T”、“.F*”),fixed=TRUE)
给出第一个为TRUE,第二个为FALSE,因为
*
在第一种情况下跟随
,而不是在第二种情况下