\\b
代表单词边界。我不明白为什么这个运算符根据后面的字符有不同的效果。例如:
test1 <- 'aland islands'
test2 <- 'åland islands'
regex1 <- "[å|a]land islands"
regex2 <- "\\b[å|a]land islands"
grepl(regex1, test1, perl = TRUE)
[1] TRUE
grepl(regex2, test1, perl = TRUE)
[1] TRUE
grepl(regex1, test2, perl = TRUE)
[1] TRUE
grepl(regex2, test2, perl = TRUE)
[1] FALSE
只有在 perl = TRUE
的情况下才会出现这个问题:
grepl(regex1, test2, perl = FALSE)
[1] TRUE
grepl(regex2, test2, perl = FALSE)
[1] TRUE
很不幸,我的应用程序中绝对需要保留perl=TRUE
。
grepl("\\b[å|a]land islands", "åland islands", perl = TRUE)
对我来说返回TRUE
。 - Maurits Evers