如何在 grepl 函数中对 R 进行 perl 正则表达式匹配?
How to perl regex match in R in the grepl function?
我在 R 中有一个使用 grepl 命令的函数,如下所示:
function(x) grepl('\bx\b',res$label, perl=T)
这似乎不起作用 - 'x' 输入是一个字符类型的字符串(一个句子),我想在匹配时围绕 'x' 创建单词边界,因为我不希望该术语在 table 中提取其他术语,我正在搜索其中包含一些类似的术语。
有什么建议吗?
您只需要正确转义正则表达式中的斜杠
ff<-function(x) grepl('\bx\b',x, perl=T)
ff(c("axa","a x a", "xa", "ax","x"))
# [1] FALSE TRUE FALSE FALSE TRUE
如果你只是想知道字符串是否是一个句子,而不是单个单词,你可以使用:function(x) grepl('\s',x)
我在 R 中有一个使用 grepl 命令的函数,如下所示:
function(x) grepl('\bx\b',res$label, perl=T)
这似乎不起作用 - 'x' 输入是一个字符类型的字符串(一个句子),我想在匹配时围绕 'x' 创建单词边界,因为我不希望该术语在 table 中提取其他术语,我正在搜索其中包含一些类似的术语。
有什么建议吗?
您只需要正确转义正则表达式中的斜杠
ff<-function(x) grepl('\bx\b',x, perl=T)
ff(c("axa","a x a", "xa", "ax","x"))
# [1] FALSE TRUE FALSE FALSE TRUE
如果你只是想知道字符串是否是一个句子,而不是单个单词,你可以使用:function(x) grepl('\s',x)