代码之家  ›  专栏  ›  技术社区  ›  Bogaso

与R图案匹配

r
  •  0
  • Bogaso  · 技术社区  · 4 年前

    我正在尝试使用以下方式匹配模式 rgep() 功能如下-

    grep("XYZ31__Sheqwqet1__CSV.csv", "^(XYZ)+[0-9]{2}[a-zA-Z_]+(csv)+$")
    

    然而,不幸的是,上述表达式不匹配。任何指向正确方向的指针都会非常有帮助。

    谢谢你的时间

    1 回复  |  直到 4 年前
        1
  •  1
  •   akrun    4 年前

    之前 csv 还有一个 . 以及一些数字。此外,论点的顺序是 pattern ,然后是输入 x (如果我们通过name传递参数,顺序就无关紧要了)

    grep( "^(XYZ)+[0-9]{2}[[:alnum:]_.]+(csv)$", "XYZ31__Sheqwqet1__CSV.csv")
    #[1] 1
    

    图案匹配是

    • ^ -字符串的开头
    • (XYZ)+ -这些字母中的一个或多个出现
    • [0-9]{2} -两位数
    • [[:alnum:]_.]+ -一个或多个字母数字字符,包括另外两个
    • (csv)$ -字符串末尾的csv