Struct safe_regex::Matcher7 [−][src]
A compiled regular expression with 7 capturing groups.
This is a zero-length type.
The regex!
macro generates a Rust type that implements the regular expression.
This struct holds that type.
Implementations
impl<F> Matcher7<F> where
F: Fn(&[u8]) -> Option<[Range<usize>; 7]>,
[src]
F: Fn(&[u8]) -> Option<[Range<usize>; 7]>,
#[must_use]pub fn new(f: F) -> Self
[src]
This is used internally by the regex!
macro.
#[must_use]pub fn is_match(&self, data: &[u8]) -> bool
[src]
Returns true
if data
matches the regular expression,
otherwise returns false
.
This is a whole-string match.
For sub-string search, put .*
at the beginning and end of the regex.
Example
use safe_regex::{regex, Matcher0}; let matcher: Matcher0<_> = regex!(br"[abc][0-9]*"); assert!(matcher.is_match(b"a42")); assert!(!matcher.is_match(b"X"));
#[must_use]pub fn match_ranges(
&self,
data: &[u8]
) -> Option<(Range<usize>, Range<usize>, Range<usize>, Range<usize>, Range<usize>, Range<usize>, Range<usize>)>
[src]
&self,
data: &[u8]
) -> Option<(Range<usize>, Range<usize>, Range<usize>, Range<usize>, Range<usize>, Range<usize>, Range<usize>)>
Executes the regular expression against the byte string data
.
Returns Some((Range<u32>,Range<u32>,...))
if the expression matched all of the bytes in data
.
The tuple fields are ranges of bytes in data
that matched capturing
groups in the expression.
A capturing group that matches no bytes will produce as a zero-length
range.
This is a whole-string match.
For sub-string search, put .*
at the beginning and end of the regex.
Returns None
if the expression did not match data
.
Example
use safe_regex::{regex, Matcher3}; let matcher: Matcher3<_> = regex!(br"([abc])([0-9]*)(suffix)?"); let (prefix, digits, suffix) = matcher.match_ranges(b"a42").unwrap(); assert_eq!(0..1_usize, prefix); assert_eq!(1..3_usize, digits); assert_eq!(0..0_usize, suffix);
#[must_use]pub fn match_slices<'d>(
&self,
data: &'d [u8]
) -> Option<(&'d [u8], &'d [u8], &'d [u8], &'d [u8], &'d [u8], &'d [u8], &'d [u8])>
[src]
&self,
data: &'d [u8]
) -> Option<(&'d [u8], &'d [u8], &'d [u8], &'d [u8], &'d [u8], &'d [u8], &'d [u8])>
Executes the regular expression against the byte string data
.
Returns Some((&[u8],&[u8],...))
if the expression matched all of the bytes in data
.
The tuple fields are slices of data
that matched
capturing groups in the expression.
This is a whole-string match.
For sub-string search, put .*
at the beginning and end of the regex.
Returns None
if the expression did not match data
.
Example
use safe_regex::{regex, Matcher3}; let matcher: Matcher3<_> = regex!(br"([abc])([0-9]*)(suffix)?"); let (prefix, digits, suffix) = matcher.match_slices(b"a42").unwrap(); assert_eq!(b"a", prefix); assert_eq!(b"42", digits); assert!(suffix.is_empty());
Trait Implementations
Auto Trait Implementations
impl<F> RefUnwindSafe for Matcher7<F> where
F: RefUnwindSafe,
F: RefUnwindSafe,
impl<F> Send for Matcher7<F> where
F: Send,
F: Send,
impl<F> Sync for Matcher7<F> where
F: Sync,
F: Sync,
impl<F> Unpin for Matcher7<F> where
F: Unpin,
F: Unpin,
impl<F> UnwindSafe for Matcher7<F> where
F: UnwindSafe,
F: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,