path2regex 0.0.4

Express style path to RegExp utility
Documentation
# Path-to-RegExp

 ![Crates.io](https://img.shields.io/crates/v/path2regex) ![Crates.io](https://img.shields.io/crates/d/path2regex) ![Crates.io](https://img.shields.io/crates/l/path2regex) [![CI](https://github.com/Binbiubiubiu/path2regex/actions/workflows/CI.yml/badge.svg)](https://github.com/Binbiubiubiu/path2regex/actions/workflows/CI.yml) [![codecov](https://codecov.io/gh/Binbiubiubiu/path2regex/branch/main/graph/badge.svg?token=YTIKDKKKBV)](https://codecov.io/gh/Binbiubiubiu/path2regex)

## Installation

``` bash
cargo add path2regex
```

## Features

- **default**: support [PathRegex]https://docs.rs/path2regex/latest/path2regex/struct.PathRegex.html and [Parser]https://docs.rs/path2regex/latest/path2regex/struct.Parser.html
- **compile**: support [Compiler]https://docs.rs/path2regex/latest/path2regex/struct.Compiler.html
- **match**: support [Matcher]https://docs.rs/path2regex/latest/path2regex/struct.Matcher.html

## Usage

Similar to [path-to-regex](https://github.com/pillarjs/path-to-regexp)

### Differences

Thought that [regex](https://docs.rs/regex/latest/regex/) was not supported `?=`,The performance of the `end` and `ends_with` property in the configuration item will vary.

notice: [regex](https://docs.rs/regex/latest/regex/) executes `captures` to get the result, providing the name `END_WITH_DELIMITER` matching group to handle the extra endings

```rust
let re = path2regex::PathRegexBuilder::new("/test")
        .set_end(false)
        .build()
        .unwrap();

// expected: Captures({0: Some("/test")})
// found: Captures({0: Some("/test"), "END_WIND_DELIMITER": Some("")})
println!("{:?}", re.captures("/test").unwrap());
// expected: Captures({0: Some("/test")})
// found: Captures({0: Some("/test/"), "END_WIND_DELIMITER": Some("")})
println!("{:?}", re.captures("/test/").unwrap());
// expected: Captures({0: Some("/test")})
// found: Captures({0: Some("/test/"), "END_WIND_DELIMITER": Some("/")})
println!("{:?}", re.captures("/test/route").unwrap());
```