[][src]Enum rand_regex::Error

pub enum Error {
    Anchor,
    Syntax(Error),
}

Error returned by Regex::compile() and Regex::with_hir().

Examples

let gen = rand_regex::Regex::compile(r"^.{4}\b.{4}$", 100);
assert_eq!(gen.err(), Some(rand_regex::Error::Anchor));

Variants

Anchor

Anchors (^, $, \A, \z) and word boundary assertions (\b, \B) are not supported.

If you really need to include anchors, please consider using rejection sampling e.g.

use rand::Rng;

// create the generator without the anchor
let gen = rand_regex::Regex::compile(r".{4}.{4}", 100).unwrap();

// later filter the sampled result using a regex with the anchor
let filter_regex = regex::Regex::new(r"^.{4}\b.{4}$").unwrap();
let _sample = rand::thread_rng()
    .sample_iter::<String, _>(&gen)
    .filter(|s| filter_regex.is_match(s))
    .next()
    .unwrap();
Syntax(Error)

The input regex has a syntax error.

Examples

let gen = rand_regex::Regex::compile(r"(", 100);
assert!(match gen {
    Err(rand_regex::Error::Syntax(_)) => true,
    _ => false,
});

Trait Implementations

impl Clone for Error[src]

impl Debug for Error[src]

impl Display for Error[src]

impl Eq for Error[src]

impl Error for Error[src]

impl From<Error> for Error[src]

impl PartialEq<Error> for Error[src]

impl StructuralEq for Error[src]

impl StructuralPartialEq for Error[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,