[英]Regex with this pattern AND that pattern
正則表達式具有or
的字符,但and
的字符是什么?
例如,假設我有一個包含以下文件的文件夾:
list.files(path = 'example')
# [1] "abc_clean.csv" "abc_other_clean.csv" "abc_other_raw.csv"
# [4] "abc_raw.csv" "abc_something_clean.csv" "abc_something_raw.csv"
# [7] "def_clean.csv" "def_other_clean.csv" "def_other_raw.csv"
# [10] "def_raw.csv" "def_something_clean.csv" "def_something_raw.csv"
我想匹配同時具有“ abc”和“ clean”的文件。 這些都不起作用:
> list.files(path = 'example', pattern = 'abc')
[1] "abc_clean.csv" "abc_other_clean.csv" "abc_other_raw.csv"
[4] "abc_raw.csv" "abc_something_clean.csv" "abc_something_raw.csv"
> list.files(path = 'example', pattern = 'clean')
[1] "abc_clean.csv" "abc_other_clean.csv" "abc_something_clean.csv"
[4] "def_clean.csv" "def_other_clean.csv" "def_something_clean.csv"
> list.files(path = 'example', pattern = 'abc*clean')
character(0)
> list.files(path = 'example', pattern = '[abc][clean]')
[1] "abc_clean.csv" "abc_other_clean.csv" "abc_other_raw.csv"
[4] "abc_raw.csv" "abc_something_clean.csv" "abc_something_raw.csv"
[7] "def_clean.csv" "def_other_clean.csv" "def_something_clean.csv"
對於此示例,我想要的結果是這樣的:
[1] "abc_clean.csv" "abc_other_clean.csv" "abc_something_clean.csv"
並且請注意,這與列表文件的特定情況無關。 這不是第一次,我試圖讓一個and
上一個正則表達式和糊塗了。
數據
x <- c("abc_clean.csv", "abc_other_clean.csv", "abc_other_raw.csv", "abc_raw.csv",
"abc_something_clean.csv", "abc_something_raw.csv", "def_clean.csv",
"def_other_clean.csv", "def_other_raw.csv", "def_raw.csv", "def_something_clean.csv",
"def_something_raw.csv")
試試Regex: ^(?=.*abc)(?=.*clean).*$
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.