{"id":13637330,"url":"https://github.com/becheran/wildmatch","last_synced_at":"2025-04-05T00:10:35.672Z","repository":{"id":41142791,"uuid":"231255084","full_name":"becheran/wildmatch","owner":"becheran","description":"Simple string matching  with single- and multiple-wildcard operator","archived":false,"fork":false,"pushed_at":"2024-05-22T20:01:02.000Z","size":61,"stargazers_count":69,"open_issues_count":2,"forks_count":14,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-05-22T20:04:56.456Z","etag":null,"topics":["globbing","matching-algorithm","questionmark","rust-lang","star","string-matching","wildcard"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/becheran.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-01-01T19:27:38.000Z","updated_at":"2024-06-18T22:54:59.119Z","dependencies_parsed_at":"2024-01-08T14:30:33.936Z","dependency_job_id":"dc74df8b-48de-440d-84d1-c64798d180e8","html_url":"https://github.com/becheran/wildmatch","commit_stats":{"total_commits":78,"total_committers":8,"mean_commits":9.75,"dds":0.5769230769230769,"last_synced_commit":"3d1516500e7f4e9878b379452eb219ee4b91792d"},"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/becheran%2Fwildmatch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/becheran%2Fwildmatch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/becheran%2Fwildmatch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/becheran%2Fwildmatch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/becheran","download_url":"https://codeload.github.com/becheran/wildmatch/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247266565,"owners_count":20910836,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["globbing","matching-algorithm","questionmark","rust-lang","star","string-matching","wildcard"],"created_at":"2024-08-02T00:01:15.435Z","updated_at":"2025-04-05T00:10:35.649Z","avatar_url":"https://github.com/becheran.png","language":"Rust","readme":"# wildmatch\n\n[![build status](https://github.com/becheran/wildmatch/workflows/Build/badge.svg)](https://github.com/becheran/wildmatch/actions?workflow=Build)\n[![docs](https://docs.rs/wildmatch/badge.svg)](https://docs.rs/wildmatch)\n[![downloads](https://img.shields.io/crates/v/wildmatch.svg?color=orange)](https://crates.io/crates/wildmatch)\n[![crate](https://badgen.net/crates/d/wildmatch)](https://crates.io/crates/wildmatch)\n[![license](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![codecov](https://img.shields.io/codecov/c/github/becheran/wildmatch/master)](https://codecov.io/gh/becheran/wildmatch)\n\nMatch 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`.\n\nSee also the example described on [wikipedia](https://en.wikipedia.org/wiki/Matching_wildcards) for matching wildcards.\n\n- `?` matches exactly one occurrence of any character.\n- `*` matches arbitrary many (including zero) occurrences of any character.\n- No escape characters are defined.\n\nCan also be used with a [custom match pattern](https://docs.rs/wildmatch/latest/wildmatch/struct.WildMatchPattern.html) to define own wildcard patterns for single and multi-character matching.\n\nFor 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`.\n\nThe following table shows a performance benchmarks between wildmatch, [regex](https://crates.io/crates/regex),[glob](https://docs.rs/glob/0.3.0/glob/struct.Pattern.html), and the [regex_lite](https://github.com/rust-lang/regex/tree/master/regex-lite) libraries:\n\n| Benchmark         | wildmatch     | regex      | glob           | regex_lite\n| ----              | ------------: | ---------: | -------------: | ---------:\n| compiling/text    |    **462 ns** |  39,714 ns |   1,470 ns     | 13,210 ns\n| compiling/complex |     190 ns    | 153,830 ns |     238 ns     | **60 ns**\n| matching/text     |    **186 ns** |   4,065 ns |     456 ns     | 6,097 ns\n| matching/complex  |    **310 ns** |  16,085 ns |   1,426 ns     | 3,773 ns\n\nThe library only depends on the rust [`stdlib`](https://doc.rust-lang.org/std/).\n\nSee the [documentation](https://docs.rs/wildmatch) for usage and more examples.\n","funding_links":[],"categories":["Libraries","库 Libraries"],"sub_categories":["Text processing","文本处理 Text processing"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbecheran%2Fwildmatch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbecheran%2Fwildmatch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbecheran%2Fwildmatch/lists"}