Back to

Package pattern

Latest Go to latest

The latest major version is .

Published: Aug 13, 2020 | License: Apache-2.0 | Module:


Package pattern implements lightweight parsable string patterns.


type Pattern

type Pattern interface {
	// String returns the definition of the pattern parsable by Parse.
	String() string
	// Match returns true if s matches this pattern, otherwise false.
	Match(s string) bool

Pattern can either match or not match a string.

var (
	// Any matches anything.
	Any Pattern
	// None matches nothing.
	None Pattern

func Exact

func Exact(s string) Pattern

Exact returns a pattern that matches s only.

func MustParse

func MustParse(s string) Pattern

MustParse parses the pattern according to the specification of Parse. In addition, it panics if there is an error in parsing the given string as a pattern.

See Parse for more details.

func Parse

func Parse(s string) (Pattern, error)

Parse parses a pattern.

Ordered by precedence, s can be:

- "": matches nothing
- "*": matches anything
- "<S>" where S does not have a colon: same as "exact:<S>"
- "exact:<S>": matches only string S
- "text:<S>": same as "exact:<S>" for backward compatibility
- "regex:<E>": matches all strings matching regular expression E. If E
  does not start/end with ^/$, they are added automatically.

Anything else will cause an error.

func Regexp

func Regexp(expr *regexp.Regexp) Pattern

Regexp returns a regular expression-based pattern.

Package Files

Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to identifier