我正在尝试在C ++中实现glob(3)
或glob
- 相似的功能。
我已经有一个函数将目录内容读入std::vector<std::string>
容器(让我们调用这个函数ListDirectory()
),所以我显然只需要字符串匹配部分 - 我的问题:
scanf
和朋友怎么样?)答案 0 :(得分:3)
如果您正在搜索平台无关的通配符库, 例如,有shwild库。
如果您正在检查模式匹配以实现自学目的, 至于回溯的基本正则表达式, 我认为第一章 Beautiful Code 很好地说明了。
当你在家中正常表达时,可能会转换 通配符到正则表达式,或将正则表达式代码转换为 通配符匹配器,不会是一项艰苦的工作。
关于NFA的现实正则表达, 详细解释将在 Russ Cox的web site。
希望这有帮助
答案 1 :(得分:0)
我使用这个:wildcmp,以适度的形式拒绝/
中的目录分隔符*
。如果你想要稍微改编的代码(我还将指针转换为字符串/迭代器,为了它的乐趣:)
)。它干净简单,不需要任何更多的花哨。