r语言 - 如何在没有类似 perl 的展望的情况下对模式不存在的情况进行 grep?



我正在尝试创建一个正则表达式,用于在没有发生模式时(特别是,我想从驱动器中提取文件夹和子文件夹的列表,所以我正在寻找任何不以\.[[:alnum:]]{1,4}$结尾的内容(。因为这个模式进入了list.files,所以我不能像前瞻一样使用PERL(对吧?(。除了先把所有东西都放进一个向量中,然后用前瞻性在上面运行grep之外,还有什么方法可以让我实现它吗?

我不太熟悉R的正则表达式,但这似乎对我有用:

'.*[^[:alnum:]].{0,3}$'

这意味着你希望最后3个字符中至少有一个不是字母数字

files <- c("my_file", "script.php", "foo!faa", "test123.321tset", "colors.red")
files[grep(".*[^[:alnum:]].{0,3}$", files)]
# => "script.php" "foo!faa"    "colors.red"

好吧,这太愚蠢了。答案一直在我面前——list.dirs只列出目录,而list.files列出所有文件。我不知道为什么一开始尝试前者似乎没有给我带来我想要的结果。。。

相关内容

最新更新