r - grepl 排除模式之前的一组单词

标签 r regex grepl

我想捕获所有提到的“养老金”(不区分大小写,包括养老金、养老金领取者,但不包括“暂停”等不相关的词。但是,我想排除前面带有“工作部”的养老金)和 "; 但我无法捕获整个表达式。到目前为止我已经:

sentences <- c("department of work and pensions", "and pensioners", "pensioners", "Pensions", "suspension")
try <- grepl("(?<!department of work and )^pension*", ignore.case = T, perl = T, sentences)
try

有什么建议吗?

最佳答案

我们可能会使用

grepl("\\bpension\\S+", sentences, ignore.case = TRUE) & 
      !grepl("department of work .*\\bpension\\S+", sentences, ignore.case = TRUE)

关于r - grepl 排除模式之前的一组单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71800310/

相关文章:

r - 为时间序列数据中的不同日期添加多个vlan

正则表达式:匹配除反向引用之外的所有内容

regex - 部分字符串与新列中的匹配正则表达式匹配 - R

嵌套的Java正则表达式

javascript - Jquery在输入字段中输入美国手机号码时自动生成连字符

r - 获取列的所有 NA 值的行号

regex - 使用 grepl 从模式列表中查找匹配模式

r - data.table中POSIXct的高效对比

java - R中的自定义距离度量,用于聚集聚类

r - 从颜色 1 到颜色 2 的 n 种颜色的渐变