R中的grep完整(不精确)匹配

时间:2015-04-10 03:54:00

标签: regex r

我想匹配整个单词。如果你看到下面的内容,我希望grep for“is”在输出中只显示4,因为只有“这是一行”,包含整个单词“is”

我也尝试使用^和$进行搜索,如下所示,但我正在寻找一个与“is”完全匹配的字符串。它也可以包含其他单词,只要单词“is”作为单独的单词出现

> lines = c("this","this","this","this is a line")
> grep("is",lines)
[1] 1 2 3 4
> grep("^is$",lines)
integer(0)

1 个答案:

答案 0 :(得分:4)

您希望在模式周围放置word boundaries

grep('\\bis\\b', lines)

注意: ^锚点断言正则表达式引擎在字符串中的当前位置是字符串的开头,$断言位置在字符串的结尾。因此,通过实现两个锚点,您可以告诉引擎整个字符串应该匹配。