路径匹配实用程序
pathmatch的Python项目详细描述
python实现git'swildmatch和POSIX.1-2008fnmatch。
这个包的目的是提供一个符合posix标准和 允许与git兼容。
示例
frompathmatchimportwildmatch# Pattern matching auto-generated test files (extension .pyc, .pyo or .pyd inside tests/)pattern=u'tests/**/*.py[cod]'# Match single files:wildmatch.match(pattern,u'tests/auto.pyc')# Truewildmatch.match(pattern,u'auto.pyc')# False# Filter a collection:files=[u'tests/deep/auto.pyd',u'tests/module.py',u'package/auto.pyc',u'tests/auto.pyo']list(wildmatch.filter(pattern,files))# [u'tests/deep/auto.pyd', u'tests/auto.pyo']# Compile a patterncompiled=wildmatch.WildmatchPattern(pattern)compiled.match(u'tests/')# False
功能
支持wildmatch
目前,支持以下wildmatch功能:
- wildstar**运算符和相关语义(/需要文本匹配)
- 文字匹配
- 问号?(任意字符)和星号*(任意字符串)运算符
- 括号表达式[abc](可选字符)
括号表达式功能:
- 否定(同时支持^和!元字符)
- 范围表达式a-z
- 排序规则符号[.ch.]
- 等价类语法[=e=],但回退到排序符号语义
- 支持path_name标志以排除/(需要文本匹配)
有关详细信息,请参见test_wildmatch.py。
限制:
- case_fold(不区分大小写)选项不受支持
- period(前导句点需要文本匹配)选项不受支持
- 不支持带有多字符排序元素的反括号表达式
- 不支持括号表达式的字符类[:alpha:]。
欢迎捐款
fnmatch支持
专用的fnmatch模块尚未配置(这应该只是wildmatch的一个子集)。
贡献
测试
您可以使用以下命令执行测试:
python -m unittest discover -s . -p test*.py
参考文献:
许可证
麻省理工学院许可证,版权所有(c)2016 Charles Samborski