1

我正在寻找一个匹配目录但不匹配标准文件(在当前工作目录中)的正则表达式。

寻找“。” 包含在文件扩展名中显然太简单了,可以有包含点的文件夹。

4

2 回答 2

2

要回答评论中的问题:

实际上,如何匹配“不包含点的所有内容”?

你可以这样做:^[^.]+$

于 2013-06-25T14:39:32.390 回答
0

假设您指的是 Windows 操作系统:使用正则表达式来确定这不是正确的方法。因为文件可以没有扩展名,而文件夹可以有句点和扩展名作为其名称的一部分。
最好的方法是在这样的代码中使用 FileAttributes (.NET C#):

// get the file attributes for file or directory
FileAttributes attributeUnknown = File.GetAttributes(@"C:\MariusHofert");

//detect whether its a directory or file
if((attributeUnknown & FileAttributes.Directory) == FileAttributes.Directory)
    MessageBox.Show("Its a directory");
else
    MessageBox.Show("Its a file");

参考链接

于 2013-06-25T14:29:58.800 回答