考虑以下示例:
> testLines <- c("I don't want to match this","This is what I want to match")
> grepl('is',testLines)
> [1] TRUE TRUE
不过,我想要的是仅在“is”单独作为单个单词时才匹配它。通过阅读一些 Perl 文档,似乎可以使用 \b 来实现此目的,它是一个锚点,可用于识别模式之前和之后的内容,即 \bword\b 匹配“word”但不匹配“sword” '。所以我尝试了以下示例,将 Perl 语法的使用设置为“TRUE”:
> grepl('\bis\b',testLines,perl=TRUE)
> [1] FALSE FALSE
我正在寻找的输出是FALSE TRUE
.
“\”是单词结尾。
在 R 字符串中,您需要将反斜杠加倍,因此:
> grepl("\\<is\\>", c("this", "who is it?", "is it?", "it is!", "iso"))
[1] FALSE TRUE TRUE TRUE FALSE
请注意,这与“is!”相匹配。但不是“iso”。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)