Bra*_*gen 5 regex r str-replace stringr
str_detect 的帮助页面指出“相当于 grepl(pattern, x)”,但是:
str_detect("ALL-", str_c("\\b", "ALL-", "\\b"))
[1] FALSE
Run Code Online (Sandbox Code Playgroud)
尽管
grepl(str_c("\\b", "ALL-", "\\b"), "ALL-")
[1] TRUE
Run Code Online (Sandbox Code Playgroud)
我想其中之一没有按预期工作?或者我错过了什么?
当您将参数添加perl = TRUE到时grepl(),它会给出相同的结果:
> grepl(str_c("\\\\b", "ALL-", "\\\\b"), "ALL-")\n[1] TRUE\n> grepl(str_c("\\\\b", "ALL-", "\\\\b"), "ALL-", perl = T)\n[1] FALSE\nRun Code Online (Sandbox Code Playgroud)\n\n该参数意味着grepl()将使用 Perl 兼容的正则表达式。
有这个警告?grep,这可能相关吗?
\n\ngsub 和 gregexpr 的 POSIX 1003.2 模式对于重复的字边界(例如,pattern = "\\b")无法正常工作。对于此类匹配,请使用 perl = TRUE (但这对于非 ASCII 输入可能无法按预期工作,因为 \xe2\x80\x98word\xe2\x80\x99 的含义取决于系统)。
\n
| 归档时间: |
|
| 查看次数: |
339 次 |
| 最近记录: |