3 unstable releases
0.2.0 | Jan 29, 2022 |
---|---|
0.1.1 | Sep 9, 2020 |
0.1.0 | Aug 31, 2020 |
#1317 in Rust patterns
3,013 downloads per month
Used in 30 crates
(26 directly)
7KB
regex-macro
This crate contains a little macro to generate a lazy
Regex
and remove some
boilerplate when compiling regex expressions.
Usage
Generally you want to avoid compiling a regex multiple times. The regex
crate suggests using lazy_static
for this but you can also use once_cell
which is what this crate uses. For example:
use regex_macro::regex;
let re = regex!("[0-9a-f]+");
assert!(re.is_match("1234deadbeef"));
Which is equivalent to the following.
use once_cell::sync::Lazy;
use regex::Regex;
let re = {
static RE: Lazy<Regex> = Lazy::new(|| Regex::new("[0-9a-f]+").unwrap());
&*RE
};
assert!(re.is_match("1234deadbeef"));
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Dependencies
~2.2–3MB
~55K SLoC