使用正则表达式和 grepl 检测以特定模式开头的单词

Vit*_*nin 0 regex r grepl

我不明白为什么 grepl("see*", "file SEC", ignore.case = TRUE)退货TRUE

我试图找到下手的所有单词see,如Seeseeingseen,等,并删除它们。“file SEC”上面的字符串没有这样的词,但TRUE被返回。

Gue*_*sBF 5

该模式"see*"检查“se”后跟任意数量的"e"s ( e*)(包括零),因此“SE”匹配。

我相信你可能想研究这样的东西,没有“*”

grepl("^see", "file SEC", ignore.case = TRUE)

FALSE
Run Code Online (Sandbox Code Playgroud)

除了“^”符号,您还可以包含一个词边界\\b,这样您就可以检测以该模式开头的词,但排除那些不在多词字符中的词:

grepl("\\bSee", c("file SEC", "See", "seeing", "seen", "he was seen", "He did not forsee the event"), ignore.case = TRUE)
[1] FALSE  TRUE  TRUE  TRUE  TRUE  FALSE
Run Code Online (Sandbox Code Playgroud)