1 #![cfg_attr(feature = "pattern", feature(pattern))] 2 3 macro_rules! regex_new { 4 ($re:expr) => {{ 5 use regex::internal::ExecBuilder; 6 ExecBuilder::new($re) 7 .bounded_backtracking() 8 .bytes(true) 9 .build() 10 .map(|e| e.into_regex()) 11 }}; 12 } 13 14 macro_rules! regex { 15 ($re:expr) => { 16 regex_new!($re).unwrap() 17 }; 18 } 19 20 macro_rules! regex_set_new { 21 ($re:expr) => {{ 22 use regex::internal::ExecBuilder; 23 ExecBuilder::new_many($re) 24 .bounded_backtracking() 25 .bytes(true) 26 .build() 27 .map(|e| e.into_regex_set()) 28 }}; 29 } 30 31 macro_rules! regex_set { 32 ($res:expr) => { 33 regex_set_new!($res).unwrap() 34 }; 35 } 36 37 // Must come before other module definitions. 38 include!("macros_str.rs"); 39 include!("macros.rs"); 40 41 mod api; 42 mod api_str; 43 mod crazy; 44 mod flags; 45 mod fowler; 46 mod multiline; 47 mod noparse; 48 mod regression; 49 mod replace; 50 mod searcher; 51 mod set; 52 mod suffix_reverse; 53 #[cfg(feature = "unicode")] 54 mod unicode; 55 #[cfg(feature = "unicode-perl")] 56 mod word_boundary; 57 #[cfg(feature = "unicode-perl")] 58 mod word_boundary_unicode; 59