【问题标题】:How to perl regex match in R in the grepl function?如何在 grepl 函数中的 R 中进行 perl 正则表达式匹配?
【发布时间】:2015-06-05 17:37:40
【问题描述】:
我在 R 中有一个函数,它使用 grepl 命令如下:
function(x) grepl('\bx\b',res$label, perl=T)
这似乎不起作用 - 'x' 输入是一个字符类型字符串(一个句子),我想在匹配时围绕 'x' 创建单词边界,因为我不想要在我正在搜索的表中提取其他术语的术语,其中包含一些相似的术语。
有什么建议吗?
【问题讨论】:
标签:
r
function
pattern-matching
pcre
grepl
【解决方案1】:
您只需要正确转义正则表达式中的斜杠
ff<-function(x) grepl('\\bx\\b',x, perl=T)
ff(c("axa","a x a", "xa", "ax","x"))
# [1] FALSE TRUE FALSE FALSE TRUE
【解决方案2】:
如果你只想知道字符串是否是一个句子,而不是单个单词,你可以使用:function(x) grepl('\\s',x)