Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jc3213/matchpattern.js

A Javascript library that manages mach patterns for matching urls
https://github.com/jc3213/matchpattern.js

javascript javascript-library match-pattern url-matching

Last synced: 6 days ago
JSON representation

A Javascript library that manages mach patterns for matching urls

Awesome Lists containing this project

README

        

## Usage

### Download
[Latest](https://jc3213.github.io/matchpattern.js/matchpattern.js)

### HTML
```HTML

```

### TamperMonkey
```javascript
// @require https://jc3213.github.io/matchpattern.js/matchpattern.js
```

## Method
- [create](#create)
- [generate](#generate)

### create
```javascript
let pattern = MatchPattern.create("www.example.com"); // *.example.com
```
- [pattern](#pattern)
- `string`
- url
- `string`
- `https://www.example.com/pathname`
- `www.example.com`
- `*.example.com`

#### pattern
- `*.example.com`
- Matches `www.example.com`, `example.com`
- Doesn't Match `test-example.com`, `www.example.com.cn`
- `example.*`
- Matches `example.com`, `example.co.uk`
- Doesen't Match `www.example.com`, `example-test.com`

| Match Pattern | Target Hostname |
| :-: | :-: |
| \ | All hostnames |
| www.university.org.eu
\*.university.org.eu
\*.org.eu | www.university.org.eu |
| doc.university.org.eu
doc.university.org.*
doc.university.* | doc.university.org.eu |
| 192.168.1.\*
192.168.\*
192.\* | 192.168.1.1 |

### generate
```javascript
let { regexp, string } = MatchPattern.generate( [ patternA, patternB, ..., patternZ ] );
```
- [regexp](#regexp)
- `Regular Expression`
- `/^(patternA|patternB|...|patternZ)$/i`
- string
- `string`
- `^(patternA|patternB|...|patternZ)$`
- pattern
- `string`
- `*.some.host`
- `192.168.*`
- Don't support ipv6 though