Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
regex:如何匹配目录(而不是';普通';文件)?_Regex - Fatal编程技术网

regex:如何匹配目录(而不是';普通';文件)?

regex:如何匹配目录(而不是';普通';文件)?,regex,Regex,我正在寻找一个正则表达式,它匹配目录,但不匹配标准文件(在当前工作目录中) 查找文件扩展名中包含的“.”显然太简单了,可能存在包含点的文件夹 假设您指的是Windows操作系统: 使用正则表达式来确定这不是正确的方法。因为文件可以没有扩展名,文件夹的名称可以有句点和扩展名。 最好的方法是在代码中像这样使用FileAttributes(.NET C#): 要回答评论中的问题: 实际上,如何匹配“所有不包含点的内容” 您可以这样做:^[^.]+$什么操作系统?本地目录列表是如何生成的?您必须问问自己

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


查找文件扩展名中包含的“.”显然太简单了,可能存在包含点的文件夹

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


要回答评论中的问题:


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


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

什么操作系统?本地目录列表是如何生成的?您必须问问自己,文件名和目录名有什么不同。没有内在的区别,所以你不能用正则表达式来做这件事。我没有看到任何正则表达式可以做这样的事情。Ubuntu 13.04。“动机”来自另一个方向:我想(从Emacs)检查点(光标)是否在目录上。实际上,如何匹配“所有不包含点的内容”?这至少对我心目中的应用程序来说是一个很好的“启发”。根据OP,它是
ubuntu13.04
是的,他后来在评论中提到了这一点。如果文件夹名是“hahaha.hahahaha”呢
// 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");