mirror of
https://github.com/minio/minio.git
synced 2024-12-27 15:45:55 -05:00
e71ef905f9
Add support for sse-s3 encryption with vault as KMS. Also refactoring code to make use of headers and functions defined in crypto package and clean up duplicated code.
30 lines
1.1 KiB
Markdown
30 lines
1.1 KiB
Markdown
# String globbing in golang [![Build Status](https://travis-ci.org/ryanuber/go-glob.svg)](https://travis-ci.org/ryanuber/go-glob)
|
|
|
|
`go-glob` is a single-function library implementing basic string glob support.
|
|
|
|
Globs are an extremely user-friendly way of supporting string matching without
|
|
requiring knowledge of regular expressions or Go's particular regex engine. Most
|
|
people understand that if you put a `*` character somewhere in a string, it is
|
|
treated as a wildcard. Surprisingly, this functionality isn't found in Go's
|
|
standard library, except for `path.Match`, which is intended to be used while
|
|
comparing paths (not arbitrary strings), and contains specialized logic for this
|
|
use case. A better solution might be a POSIX basic (non-ERE) regular expression
|
|
engine for Go, which doesn't exist currently.
|
|
|
|
Example
|
|
=======
|
|
|
|
```
|
|
package main
|
|
|
|
import "github.com/ryanuber/go-glob"
|
|
|
|
func main() {
|
|
glob.Glob("*World!", "Hello, World!") // true
|
|
glob.Glob("Hello,*", "Hello, World!") // true
|
|
glob.Glob("*ello,*", "Hello, World!") // true
|
|
glob.Glob("World!", "Hello, World!") // false
|
|
glob.Glob("/home/*", "/home/ryanuber/.bashrc") // true
|
|
}
|
|
```
|