Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R中的regexp有问题:匹配被空格或字符串开头/结尾包围的单词_R_Regex_Stringi - Fatal编程技术网

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