wildmatch 2.3.1

Simple string matching with single- and multi-character wildcard operator.
Documentation

wildmatch

build status docs downloads crate license codecov

Match strings against a simple wildcard pattern. Tests a wildcard pattern p against an input string s. Returns true only when p matches the entirety of s.

See also the example described on wikipedia for matching wildcards.

  • ? matches exactly one occurrence of any character.
  • * matches arbitrary many (including zero) occurrences of any character.
  • No escape characters are defined.

Can also be used with a custom match pattern to define own wildcard patterns for single and multi-character matching.

For example the pattern ca? will match cat or car. The pattern https://* will match all https urls, such as https://google.de or https://github.com/becheran/wildmatch.

Compared to the rust regex library, wildmatch pattern compile much faster and match with about the same speed. Compared to glob pattern wildmtach is faster in both compile and match time:

Benchmark wildmatch regex glob regex_lite
compiling/text 340 ns 39,714 ns 1,470 ns 13,210 ns
compiling/complex 70 ns 153,830 ns 255,780 ns 60 ns
matching/text 367 ns 3,882 ns 440 ns 6,097 ns
matching/complex 376 ns 16,024 ns 1,526 ns 3,773 ns

The library only depends on the rust stdlib.

See the documentation for usage and more examples.