Label Filter is a small pattern language for filtering lists of objects by their labels — files, tags, titles, anything with a name.
View Label Filter Documentation at Label Filter Docs
A pattern is parsed into a small intermediate form and walked — never compiled to a regular expression. That keeps the public language small and deterministic, and stops a regex engine's implementation details leaking into what a pattern means. In the Python and PHP implementations, where a regex engine is in the standard library, that is the most load-bearing line in the file.
Wildcards, anchors, character sets, alternation, grouping, case control, whole-word matching and exclusion cover the large majority of list filtering between them. What the language deliberately does not have matters as much as what it does: no quantifiers, no lookahead, no capture, no backreferences.
The specification is executable. 73 cases lifted from its numbered sections, 31 patterns that must be refused, and 43 fragments of junk that must not crash anything — 399 assertions in one file that every implementation runs. A translation is either conformant or it fails, and the reference implementation carries two further suites: one that walks every pattern up to a given length and checks generated patterns against an independently written oracle, and one whose ceiling is a single keystroke over a whole list.
Install it from the registry for your language; see the documentation for the package names.