wildcard-named
v1.1.1
Published
A small and easy-to-use utility module for matching strings using named and/or unnamed wildcards for JavaScript.
Downloads
33
Maintainers
Readme
A small and easy-to-use utility module for matching strings using named and/or unnamed wildcards for JavaScript.
Installation
$ npm install wildcard-named
Usage
import wildcard from "wildcard-named";
Basic example
import wildcard from "wildcard-named";
wildcard("//blog.com/page/14", "//blog.com/page/[digit:page]");
// { page: '14' }
wildcard("abc-123:d2f", "[digit:a]-[alpah:b]:[alnum:c]");
// { a: 'abc', b: '123', c: 'd2f' }
Unnamed wildcards
import wildcard from "wildcard-named";
wildcard("a-b-c", "[alpah:]-[alpah:]-[alpah:]");
// { 0: 'a', 1: 'b', 2: 'c' }
Unmatched wildcards
When the pattern cannot be resolved, it will return null
.
import wildcard from "wildcard-named";
wildcard("a-b-c", "[alpah:]");
// null
Wildcards
You can add your own filters using the .addFilter(filter, regex)
function, like this:
import wildcard from "wildcard-named";
wildcard.addFilter("testA", "(.*?)");
wildcard.addFilter("testB", "([0-9])");
wildcard("match-1", "[testA:a]-[testB:b]");
// { a: 'match', b: '1' }
All registered filters are stored in a Map at wildcard.filters
.
Predefined wildcards
| Filter | Regex |
|----------|------------------|
| digit
| ([0-9]+)
|
| alnum
| ([0-9A-Za-z]+)
|
| alpah
| ([A-Za-z]+)
|
| xdigit
| ([0-9A-Fa-f]+)
|
| punct
| ([\p{P}\d]+)
|
| print
| ([\x20-\x7e]*)
|
| upper
| ([A-Z]+)
|
| lower
| ([a-z]+)
|
| all
| (.*?)
|
Tests
$ npm test