我正在尋找正確的正則表達式。下面在R中使用grep來查找字符串作爲整個單詞(但不是字符串作爲單詞的一部分)
t1 = c("IGF2, IGF2AS, INS, TH", "TH", "THZH", "ZGTH")
grep("TH",t1, value=T)
回報t1
所有元素,但只有第一和第二是正確的。我只想用詞/ TH
返回?
我正在尋找正確的正則表達式。下面在R中使用grep來查找字符串作爲整個單詞(但不是字符串作爲單詞的一部分)
t1 = c("IGF2, IGF2AS, INS, TH", "TH", "THZH", "ZGTH")
grep("TH",t1, value=T)
回報t1
所有元素,但只有第一和第二是正確的。我只想用詞/ TH
返回?
您需要添加word boundary anchors(\b
)在你的搜索字符串所以只有整個單詞將被匹配(即由非單詞字符包圍字或啓動/串,其中「單詞字符」是指\w
末,即字母數字字符)。
嘗試
grep("\\bTH\\b",t3, value=T)
您可以使用\<
和\>
在正則表達式匹配的單詞的開頭/結束。
grep ("\\<TH\\>", t1)
等
@Tim Pietzcker更快:)我想知道,如果這兩個正則表達式不同? – Anatoliy
你更明確,雖然在這種情況下,它們在功能上是相同的。 –
儘管是兩個答案已經有了,你應該指定你說「話」在您的標題是什麼意思。那麼'TH2'或'TH_TH'呢? –