rec

Regular Expression Constructor - the recreational version of regular expressions

rec is a Rust library that simplifies the process of writing, reading, and using regular expressions. This library is intended for all users working with regular expressions, no matter their familiarity with regular expression syntax. Below is a summary of the functionality provided by rec:

This library utilizes the [regex] crate.

Getting Started

Add the following to your Cargo.toml:

toml [dependencies] rec = "0.10.0"

Examples

Use Regex API.

A [Pattern] is a smart pointer to a [Regex], so one can call the same functions.

```rust use rec::{some, Class, Pattern};

let pattern = Pattern::new("hello" + some(Class::Whitespace) + (Class::Digit | "world"));

assert!(pattern.is_match("hello world")); ```

Use Pattern to capture a group.

[Pattern] additionally provides helper functions to reduce boilerplate.

```rust use rec::{prelude::*, some, tkn, var, Class, Pattern};

let decimal_number = Pattern::new(tkn!("whole" => some(Class::Digit)) + "." + var(Class::Digit));

asserteq!(decimalnumber.name_str("23.2", "whole"), Some("23")); ```

FAQ

I know regular expression syntax; why should I use rec?

In order for code to be easily maintainable, it should be as simple as possible. Even if the original developer understands their regular expression, it is beneficial for the project as a whole if all contributors are able to easily understand the function of a regular expression.

License: MIT