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.
The following table shows a performance benchmarks between wildmatch, regex,glob, and the regex_lite libraries:
| Benchmark | wildmatch | regex | glob | regex_lite |
|---|---|---|---|---|
| compiling/text | 462 ns | 39,714 ns | 1,470 ns | 13,210 ns |
| compiling/complex | 190 ns | 153,830 ns | 238 ns | 60 ns |
| matching/text | 186 ns | 4,065 ns | 456 ns | 6,097 ns |
| matching/complex | 310 ns | 16,085 ns | 1,426 ns | 3,773 ns |
The library only depends on the rust stdlib.
See the documentation for usage and more examples.