Pet*_*hro 9 regex r regex-lookarounds
我尝试列出目录中不以"Camera1"开头的所有文件,但以".png"结尾.为此,我在R中的list.files中使用正则表达式.要排除"Camera1",我尝试使用否定前瞻,但它不起作用.我的错误在哪里?;)
list.files(pathToDirectory, pattern = "^(?!Camera1).*\\.png")
Run Code Online (Sandbox Code Playgroud)
我收到错误:invalid 'pattern' regular expression
提前谢谢:)
Bro*_*ieG 10
看起来默认引擎不喜欢外观,所以你需要使用Perl.这有效:
dat <- c("Camera1.png", "Camera2.png", "hello.png", "boo")
grep("^(?!Camera1).*\\.png", dat, value=T, perl=T)
# [1] "Camera2.png" "hello.png"
Run Code Online (Sandbox Code Playgroud)
但这不是:
grep("^(?!Camera1).*\\.png", dat, value=T)
# invalid regular expression '(?<!Camera1)\.png', reason 'Invalid regexp'
Run Code Online (Sandbox Code Playgroud)
那么,做你想做的事:
grep("(?<!Camera1)\\.png", list.files(), perl=T, value=T)
Run Code Online (Sandbox Code Playgroud)