#regex #compile-time #static

regex_static

Compile-time validated regex, with convenience functions for lazy and static regexes

2 releases

0.1.1 Mar 20, 2021
0.1.0 Mar 4, 2021

#1771 in Development tools

Download history 956/week @ 2024-07-23 441/week @ 2024-07-30 279/week @ 2024-08-06 380/week @ 2024-08-13 467/week @ 2024-08-20 1222/week @ 2024-08-27 896/week @ 2024-09-03 1294/week @ 2024-09-10 921/week @ 2024-09-17 710/week @ 2024-09-24 527/week @ 2024-10-01 781/week @ 2024-10-08 604/week @ 2024-10-15 1233/week @ 2024-10-22 668/week @ 2024-10-29 466/week @ 2024-11-05

3,126 downloads per month
Used in 5 crates (3 directly)

Apache-2.0 OR MIT OR CC0-1.0

4KB

regex_static

Compile-time validation of regex::Regex.

Examples

Lazy regex

Uses once_cell to lazily create the regex.

static RE: Lazy<Regex> = regex_static::lazy_regex!("^yesss$");

Static regex

Also uses once_cell, but works inline (will therefore reuse the same instance of the regex each function call).

let some_regex = regex_static::static_regex!("^yesss$");

Ordinary regex

Will create an owned Regex, just like calling Regex::new(...) but with compile-time validation.

let ordinary_regex = regex_static::regex!("^yesss$");

lib.rs:

Compile-time validation of regex::Regex.

Examples

Lazy regex

Uses once_cell to lazily create the regex.

static RE: Lazy<Regex> = regex_static::lazy_regex!("^yesss$");

Static regex

Also uses once_cell, but works inline (will therefore reuse the same instance of the regex each function call).

let some_regex = regex_static::static_regex!("^yesss$");

Ordinary regex

Will create an owned Regex, just like calling Regex::new(...) but with compile-time validation.

let ordinary_regex = regex_static::regex!("^yesss$");

Dependencies

~3.5–5MB
~93K SLoC