regex - Negative look-ahead assertion in list.files in R -
i try list files in directory not start "camera1", end ".png". doing so, using regular expression in list.files in r. exclude "camera1", tried use negative lookahead, doesn't work. mistake? ;)
list.files(pathtodirectory, pattern = "^(?!camera1).*\\.png")
i error: invalid 'pattern' regular expression
in advance :)
looks default engine doesn't lookarounds, need use perl. works:
dat <- c("camera1.png", "camera2.png", "hello.png", "boo") grep("^(?!camera1).*\\.png", dat, value=t, perl=t) # [1] "camera2.png" "hello.png"
but doesn't:
grep("^(?!camera1).*\\.png", dat, value=t) # invalid regular expression '(?<!camera1)\.png', reason 'invalid regexp'
so, what want:
grep("(?<!camera1)\\.png", list.files(), perl=t, value=t)
Comments
Post a Comment