swift-filename-matcher

一个 Swift 版本的 Python fnmatch 模块的移植,可选择支持 Bash 'globstar' 行为 (**)。

安装

Swift 包管理器 (Swift Package Manager)

.package(url: "https://github.com/ileitch/swift-filename-matcher.git", from: "0.0.0")
.product(name: "FilenameMatcher", package: "swift-filename-matcher")

Bazel

bazel_dep(name = "swift-filename-matcher", version = "<version>")

用法

let matcher = FilenameMatcher(
    pattern: "**/*.swift",
    options: [.globstar]
)
matcher.match(filename: "path/to/File.swift") // true

获取给定模式的正则表达式

FilenameMatcher.translate("**/File.swift") // (?s:(.*/)?File\.swift)\Z

选项

请参阅 FilenameMatcherOptions 以了解可以传递给 FilenameMatcher 的选项。请注意,默认情况下已启用 'globstar' 支持。