R中的regexp有问题:匹配被空格或字符串开头/结尾包围的单词
我想计算字典中出现在字符串中的单词数,如果它被空格包围,或者它位于字符串的开头或结尾 我使用的答案如下:R中的regexp有问题:匹配被空格或字符串开头/结尾包围的单词,r,regex,stringi,R,Regex,Stringi,我想计算字典中出现在字符串中的单词数,如果它被空格包围,或者它位于字符串的开头或结尾 我使用的答案如下: library(stringi) testStr <- c("dutch dutch brown", "brown ", "AAdutch", "dutchAA", "AAbrown", "brownAA", "hello") stri_count_regex(testStr, "(^|\\s+)dutch|brown(\\s+|$)") 库(string
library(stringi)
testStr <- c("dutch dutch brown", "brown ", "AAdutch", "dutchAA", "AAbrown",
"brownAA", "hello")
stri_count_regex(testStr, "(^|\\s+)dutch|brown(\\s+|$)")
库(stringi)
testStr尝试使用以下正则表达式:
r
library(stringi)
testStr <- c("dutch dutch brown", "brown ", "AAdutch", "dutchAA", "AAbrown",
"brownAA", "hello")
stri_count_regex(testStr, "(?:\\b|\\s+)(?:dutch|brown)(?:\\s+|\\b)") # 3 1 0 0 0 0 0
库(stringi)
testStr可能stri\u count\u regex(testStr,\\b(dutch | brown)\\b”)
不确定两者的区别,能否将链接发布到您使用的regextr只需添加一点上下文:(?:pattern)
是一个“,而\\b
是一个单词边界-它在单词的开头或结尾匹配,而实际上不匹配单词中的任何字符。这里的非捕获组的动机是什么?
library(stringi)
testStr <- c("dutch dutch brown", "brown ", "AAdutch", "dutchAA", "AAbrown",
"brownAA", "hello")
stri_count_regex(testStr, "(?:\\b|\\s+)(?:dutch|brown)(?:\\s+|\\b)") # 3 1 0 0 0 0 0