我有一个网址列表:
urls <- c("xx.zip", "zx.zip", "zz.rar")
我可以找到所有这样的zip文件:
zlst <- grep("zip", urls)
zls <- urls[zlst]
zls
[1] "xx.zip" "zx.zip"
如果我想找到所有文件,包括“z”和“zip”,我该怎么做。如果它是“z”或“zip”我可以使用|,但它不适用于&amp;。
zlst <- grep("z&zip", urls)
zls <- urls[zlst]
zls
character(0)
通缉输出:
[1] "zx.zip"
答案 0 :(得分:3)
您可以指定可能的外观顺序。只有两个字符串,这不是什么大问题:
grep("z.*zip|zip.*z", urls, value = TRUE)
# [1] "zx.zip"
在单个正则表达式模式中,没有直接指定逻辑AND运算符的方法,如OR运算符|
。
答案 1 :(得分:0)
也许,在^
开头(z
)和$
开头(zip
)匹配:
grep("^z.*zip$", urls, value = TRUE)
# [1] "zx.zip"