我正在尝试创建一个正则表达式,用于在没有发生模式时(特别是,我想从驱动器中提取文件夹和子文件夹的列表,所以我正在寻找任何不以\.[[: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
列出所有文件。我不知道为什么一开始尝试前者似乎没有给我带来我想要的结果。。。