# lazy-regex
a macro for when you're tired of the regex creation boilerplate
## What it does
It's a shortcut to write static lazily compiled regular expressions as is usually done with lazy_static or once_cell.
It lets you replace
```
fn some_helper_function(text: &str) -> bool {
lazy_static! {
static ref RE: Regex = Regex::new("...").unwrap();
}
RE.is_match(text)
}
```
with
```
fn some_helper_function(text: &str) -> bool {
regex!("...").is_match(text)
}
```
The first code comes from the regex documentation.
## FAQ
### Is it really useful ?
Regarding the binary, it's *exactly* as using lazy_static. It just makes some code a little easier to read. You're judge.
### Can I have several `regex!` in the same function ? On the same Line ?
Yes, no problem.
### It hides the `unwrap()`, isn't it concerning ?
Not so much in my opinion as the macro only accepts a litteral: you won't hide a failure occuring on a dynamic string.
### I'd like to have flags too
You mean something like `regex!("somestring", "i")` ? Cool. I was just waiting for somebody's else to ask for it. Create an issue and I'll see if I can easily wrap `RegexBuilder` to handle flags ala JavaScript.
### What's the licence ?
It's MIT. But you're also free to just copy the macro in your code if it's simpler, no attribution is needed.