【问题标题】:How to search for two patterns in logical AND fashion with regex in R? [duplicate]如何使用 R 中的正则表达式以逻辑与方式搜索两种模式? [复制]
【发布时间】:2023-01-16 03:38:32
【问题描述】:

我正在尝试从我的全局环境中获取一个对象列表,其中包含在特定位置具有单个字符的项目,并且在其名称末尾还包含另一个字符串。所以我只想要这两个条件都成立的比赛。

这是只做前者时的样子:

    pattern<-grep("^.{3}a",names(.GlobalEnv),value=TRUE)
    plot_list<-do.call("list",mget(pattern))

我现在也想将后一个条件添加到模式中,这样它就不会产生位置 3 上带有“a”的所有对象,而只会产生那些也以“plot”结尾的对象。最简单的方法是什么?

【问题讨论】:

  • 在位置 3?然后使用"^.{2}a.*plot$"。对于^.{3}a,那将是第四位。

标签: r regex string logical-and


【解决方案1】:

假设您想要以 a 作为第三个字符且也以 plot 结尾的对象,您应该使用正则表达式模式 ^.{2}a.*plot$:

pattern <- grep("^.{2}a.*plot$", names(.GlobalEnv), value=TRUE)
plot_list <- do.call("list", mget(pattern))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-14
    • 1970-01-01
    • 2023-01-17
    相关资源
    最近更新 更多