v0.0.0-...-51f9457 Latest Latest

This package is not in the latest version of its module.

Go to latest
Published: Jul 9, 2021 License: Apache-2.0 Imports: 3 Imported by: 0



Package pattern implements lightweight parsable string patterns.



This section is empty.


This section is empty.


This section is empty.


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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL