一个 Swift 版本的 Python fnmatch
模块的移植,可选择支持 Bash 'globstar' 行为 (**
)。
.package(url: "https://github.com/ileitch/swift-filename-matcher.git", from: "0.0.0")
.product(name: "FilenameMatcher", package: "swift-filename-matcher")
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' 支持。