在R中使用正则表达式查找作为完整单词的字符串(但不查找作为单词一部分的字符串)



我正在搜索正确的正则表达式。以下

t1 = c("IGF2, IGF2AS, INS, TH", "TH", "THZH", "ZGTH")
grep("TH",t1, value=T)

返回t1的所有元素,但只有第一个和第二个元素是正确的。我只想返回单词/短语为TH的条目?

您需要在搜索字符串周围添加单词边界锚(b(,以便只匹配整个单词(即,由非单词字符或字符串的开头/结尾包围的单词,其中"单词字符"表示w,即字母数字字符(。

尝试

grep("\bTH\b",t3, value=T)

您可以在正则表达式中使用<>来匹配单词的开头/结尾。

grep ("\<TH\>", t1)

最新更新