pub struct Pattern<S = usize, A = DenseDFA<Vec<S>, S>> where
S: StateID,
A: DFA<ID = S>, { /* private fields */ }
Expand description
A compiled match pattern that can match multipe inputs, or return a
Matcher
that matches a single input.
Implementations
Returns true
if this pattern matches the given string.
Returns true
if this pattern matches the formatted output of the given
type implementing fmt::Debug
.
For example:
use matchers::Pattern;
#[derive(Debug)]
pub struct Hello {
to: &'static str,
}
let pattern = Pattern::new(r#"Hello \{ to: "W[^"]*" \}"#).unwrap();
let hello_world = Hello { to: "World" };
assert!(pattern.debug_matches(&hello_world));
let hello_sf = Hello { to: "San Francisco" };
assert_eq!(pattern.debug_matches(&hello_sf), false);
let hello_washington = Hello { to: "Washington" };
assert!(pattern.debug_matches(&hello_washington));
Returns true
if this pattern matches the formatted output of the given
type implementing fmt::Display
.
For example:
use matchers::Pattern;
#[derive(Debug)]
pub struct Hello {
to: &'static str,
}
impl fmt::Display for Hello {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "Hello {}", self.to)
}
}
let pattern = Pattern::new("Hello [Ww].+").unwrap();
let hello_world = Hello { to: "world" };
assert!(pattern.display_matches(&hello_world));
assert_eq!(pattern.debug_matches(&hello_world), false);
let hello_sf = Hello { to: "San Francisco" };
assert_eq!(pattern.display_matches(&hello_sf), false);
let hello_washington = Hello { to: "Washington" };
assert!(pattern.display_matches(&hello_washington));
Returns either a bool
indicating whether or not this pattern matches the
data read from the provided io::Read
stream, or an io::Error
if an
error occurred reading from the stream.
Trait Implementations
Auto Trait Implementations
impl<S, A> RefUnwindSafe for Pattern<S, A> where
A: RefUnwindSafe,
impl<S, A> UnwindSafe for Pattern<S, A> where
A: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more