mirror of
				https://git.proxmox.com/git/rustc
				synced 2025-10-31 15:22:08 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			76 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
| macro_rules! regex_new {
 | |
|     ($re:expr) => {{
 | |
|         use regex::bytes::Regex;
 | |
|         Regex::new($re)
 | |
|     }};
 | |
| }
 | |
| 
 | |
| macro_rules! regex_set_new {
 | |
|     ($res:expr) => {{
 | |
|         use regex::bytes::RegexSet;
 | |
|         RegexSet::new($res)
 | |
|     }};
 | |
| }
 | |
| 
 | |
| macro_rules! regex {
 | |
|     ($re:expr) => {
 | |
|         regex_new!($re).unwrap()
 | |
|     };
 | |
| }
 | |
| 
 | |
| macro_rules! regex_set {
 | |
|     ($res:expr) => {
 | |
|         regex_set_new!($res).unwrap()
 | |
|     };
 | |
| }
 | |
| 
 | |
| // Must come before other module definitions.
 | |
| include!("macros_bytes.rs");
 | |
| include!("macros.rs");
 | |
| 
 | |
| // A silly wrapper to make it possible to write and match raw bytes.
 | |
| struct R<'a>(&'a [u8]);
 | |
| impl<'a> R<'a> {
 | |
|     fn as_bytes(&self) -> &'a [u8] {
 | |
|         self.0
 | |
|     }
 | |
| }
 | |
| 
 | |
| // See: https://github.com/rust-lang/regex/issues/321
 | |
| //
 | |
| // These tests are here because they do not have the same behavior in every
 | |
| // regex engine.
 | |
| mat!(invalid_utf8_nfa1, r".", R(b"\xD4\xC2\x65\x2B\x0E\xFE"), Some((2, 3)));
 | |
| mat!(invalid_utf8_nfa2, r"${2}ä", R(b"\xD4\xC2\x65\x2B\x0E\xFE"), None);
 | |
| mat!(
 | |
|     invalid_utf8_nfa3,
 | |
|     r".",
 | |
|     R(b"\x0A\xDB\x82\x6E\x33\x01\xDD\x33\xCD"),
 | |
|     Some((1, 3))
 | |
| );
 | |
| mat!(
 | |
|     invalid_utf8_nfa4,
 | |
|     r"${2}ä",
 | |
|     R(b"\x0A\xDB\x82\x6E\x33\x01\xDD\x33\xCD"),
 | |
|     None
 | |
| );
 | |
| 
 | |
| mod api;
 | |
| mod bytes;
 | |
| mod crazy;
 | |
| mod flags;
 | |
| mod fowler;
 | |
| mod multiline;
 | |
| mod noparse;
 | |
| mod regression;
 | |
| mod replace;
 | |
| mod set;
 | |
| mod shortest_match;
 | |
| mod suffix_reverse;
 | |
| #[cfg(feature = "unicode")]
 | |
| mod unicode;
 | |
| #[cfg(feature = "unicode-perl")]
 | |
| mod word_boundary;
 | |
| #[cfg(feature = "unicode-perl")]
 | |
| mod word_boundary_unicode;
 | 
