Lorsque vous ajoutez l'argument perl = TRUE
a grepl()
cela donne le même résultat :
> grepl(str_c("\\b", "ALL-", "\\b"), "ALL-")
[1] TRUE
> grepl(str_c("\\b", "ALL-", "\\b"), "ALL-", perl = T)
[1] FALSE
Cet argument signifie grepl()
utilisera le Regex compatible avec Perl.
Il y a cet avertissement dans ?grep
qui pourraient être liés ?
Le mode POSIX 1003.2 de gsub et gregexpr ne fonctionne pas correctement avec des limites de mots répétées (par exemple, motif = " \b "). Utilisez perl = TRUE pour de telles correspondances (mais cela peut ne pas fonctionner comme prévu avec des entrées non-ASCII, car la signification de 'word' dépend du système).
1 votes
Je ne suis pas sûr que ce soit les limites du mot parce que
str_detect("ALL-", str_c("\\b", "ALL", "\\b"))
renvoie àTRUE
.