All Projects → becheran → wildmatch

becheran / wildmatch

Licence: MIT license
Simple string matching with questionmark- and star-wildcard operator

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to wildmatch

Micromatch
Contributing Pull requests and stars are always welcome. For bugs and feature requests, please create an issue. Please read the contributing guide for advice on opening issues, pull requests, and coding standards.
Stars: ✭ 1,979 (+5248.65%)
Mutual labels:  wildcard, globbing
globrex
Glob to regular expression with support for extended globs.
Stars: ✭ 52 (+40.54%)
Mutual labels:  wildcard, globbing
DoubleStar
A personalized/enhanced re-creation of the Darkhotel "Double Star" APT exploit chain with a focus on Windows 8.1 and mixed with some of my own techniques
Stars: ✭ 140 (+278.38%)
Mutual labels:  star
expand-brackets
Expand POSIX bracket expressions (character classes) in glob patterns.
Stars: ✭ 26 (-29.73%)
Mutual labels:  globbing
spacehunter
❤🍳 Space Hunter is a PWA (Progressive Web App) in which the user can have access to information regarding the universe.
Stars: ✭ 15 (-59.46%)
Mutual labels:  star
New-Star
Web. browser game engine :)
Stars: ✭ 64 (+72.97%)
Mutual labels:  star
algos
A collection of algorithms in rust
Stars: ✭ 16 (-56.76%)
Mutual labels:  string-matching
JWildcard
A Java library with wildcard utils
Stars: ✭ 14 (-62.16%)
Mutual labels:  wildcard
strutil
Golang metrics for calculating string similarity and other string utility functions
Stars: ✭ 114 (+208.11%)
Mutual labels:  string-matching
matching-engine
Superfast Matching Engine written in golang
Stars: ✭ 35 (-5.41%)
Mutual labels:  matching-algorithm
stars
⭐ Keep your Github Stars fresh!
Stars: ✭ 95 (+156.76%)
Mutual labels:  star
Star-lang-specification
Work in progress specs for the Star programming language
Stars: ✭ 26 (-29.73%)
Mutual labels:  star
SkeletonMatching
This repository implements skeleton matching algorithm.
Stars: ✭ 30 (-18.92%)
Mutual labels:  matching-algorithm
effcee
Effcee is a C++ library for stateful pattern matching of strings, inspired by LLVM's FileCheck
Stars: ✭ 76 (+105.41%)
Mutual labels:  string-matching
GitPageHijack
OK now. Let's hijack github user's custom domain.
Stars: ✭ 45 (+21.62%)
Mutual labels:  wildcard
nativescript-star-printer
🌟 Print directly to Star Micronics printers from your NativeScript app! http://www.starmicronics.com/
Stars: ✭ 28 (-24.32%)
Mutual labels:  star
node-red-contrib-string
Provides a string manipulation node with a chainable UI based on the concise and lightweight stringjs.com.
Stars: ✭ 15 (-59.46%)
Mutual labels:  string-matching
LetsEncrypt
C# layer for generation of wildcard Let's Encrypt SSL certificates
Stars: ✭ 67 (+81.08%)
Mutual labels:  wildcard
fuzzy-match
Library and command line utility to do approximate string matching of a source against a bitext index and get matched source and target.
Stars: ✭ 31 (-16.22%)
Mutual labels:  string-matching
Levenshtein
The Levenshtein Python C extension module contains functions for fast computation of Levenshtein distance and string similarity
Stars: ✭ 38 (+2.7%)
Mutual labels:  string-matching

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.

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
compiling/text 990 ns 476,980 ns 4,517 ns
compiling/complex 122 ns 177,510 ns 562 ns
matching/text 568 ns 655 ns 1,896 ns
matching/complex 664 ns 575 ns 4,208 ns

The library only depends on the rust stdlib.

See the documentation for usage and more examples.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].