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