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