我正在寻找一个匹配目录但不匹配标准文件(在当前工作目录中)的正则表达式。
寻找“。” 包含在文件扩展名中显然太简单了,可以有包含点的文件夹。
要回答评论中的问题:
实际上,如何匹配“不包含点的所有内容”?
你可以这样做:^[^.]+$
假设您指的是 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");