2015-06-05 23 views
1

我有作爲R的函數,它使用grepl命令如下:在grep函數中如何perl匹配R中的正則表達式?

function(x) grepl('\bx\b',res$label, perl=T) 

這似乎並不工作 - 的「x」輸入是字符類型字符串(句子),並且我喜歡在我匹配時在'x'周圍創建詞邊界,因爲我不希望該術語在我搜索的表中找出包含一些相似術語的表中的其他術語。

有什麼建議嗎?

回答

4

你只需要正確轉義斜槓在您的正則

ff<-function(x) grepl('\\bx\\b',x, perl=T) 
ff(c("axa","a x a", "xa", "ax","x")) 
# [1] FALSE TRUE FALSE FALSE TRUE 
0

如果你只是想知道字符串是否是一個句子,而不是單一的話,你可以使用:function(x) grepl('\\s',x)