#pattern #pattern-matching #path #pattern-match #regex #glob #go

goglob

类似于 golang 的 path.Match 的 Shell 模式匹配

1 个不稳定版本

0.2.0 2022 年 4 月 15 日

#1469 in 文件系统


2 crates 使用

BSD-3-Clause

40KB
786

goglob

类似于 golang 的 path.Match 的 Shell 模式匹配。

模式语法是

pattern:
    { term }
term:
    '*'         matches any sequence of non-/ characters
    '?'         matches any single non-/ character
    '[' [ '^' ] { character-range } ']'
                character class (must be non-empty)
    c           matches character c (c != '*', '?', '\\', '[')
    '\\' c      matches character c

character-range:
    c           matches character c (c != '\\', '-', ']')
    '\\' c      matches character c
    lo '-' hi   matches character c for lo <= c <= hi

匹配要求模式与名称完全匹配,而不仅仅是子串。

使用 GlobPattern::new(pattern) 来构建一个新实例。

功能

  • proc-macro:允许使用 glob!("<PATTERN>") 过程宏(参见 glob!())。
  • serde:启用字符串模式的 serde 反序列化。

许可证

BSD-3-条款.

基于 Go 1.18 的 path.Match(可在 BSD-3-Clause 许可证下使用)其中包含以下注释

// Copyright 2010 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

依赖项

~145KB