Skip to content

Only compile a regex once, abstracted

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

rossmacarthur/regex-macro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

regex-macro

Crates.io Version Docs.rs Latest Build Status

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

at your option.

About

Only compile a regex once, abstracted

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published

Languages