parsing - 在哪里可以找到文件系统路径规范
问题描述
我正在寻找一个,或者更可能是一小部分,概述文件系统路径元素的规范。我的意思是什么?主要是,我希望实现一个“简单”(读取,空引号)解析器规范来验证我正在读取的路径是否有效。最终,我想解析所述路径的分隔列表,即我可能从环境变量中读取。
我首先查看的是DOS / Windows规范,但我希望Linux、UNC等也是可以接受的变体。
现在,我能做的脑死的事情就是简单地取出字符串并在delimiter上进行标记,然后也许将标记交给类似or的东西。也许这就足够了?boost::filesystem::path
std::filesystem::path
我知道对于诸如电子邮件地址、Uri 之类的东西有这样的规范。这就是我感兴趣的技术规范。
我的目标语言是C++。如果上述情况失败,我将利用Boost Spirit Qi进行解析器语法。我期望语法应该表达诸如有效字符之类的东西,在战略时期禁止无效字符之类的东西。
谢谢!
解决方案
我找到了有关命名约定等的Microsoft 文档,它或多或少地概述了这个问题,至少就 Windows 而言。我还发现了这个陈述大纲。
我目前专注于 Windows。开放式问题是关于drive_letter
、server
、sharename
、drive_spec
和的命名约定physical_device
。虽然,我觉得有点drive_spec
像drive_letter
?然而,不是积极的。
否则,我将尽可能多地整理无效字符集,就像我是允许的字符、它们的序列、部分、扩展名、保留名称等一样。
推荐阅读
- reactjs - 未定义从firebase获取数据
- android - android片段场景在小吃店创建期间崩溃
- java - Scanner(System.in).nextLine() 行为怪异
- ios - StateObject 属性不会更新视图,但 ObservedObject 会
- php - 仅在结帐页面上更改 WooCommerce 运输方式标签
- php - 如何从本地的 PHP session_start() 检查不同的变量?
- javascript - 导入导入文件中不存在的单词(样式)?(反应本机/Javascript)
- c# - 从 UWP (C#) 调用 GetDiskFreeSpaceExA
- java - Jackson objectMapper,试图将 LocalDate 序列化为“yyyy-MM-dd”,将 LocalTime 序列化为“HH:mm:ss”
- r - 缩放 X 轴错误并需要帮助在 ggplot R 中将“%”符号添加到 X 轴