Enum vec_reg_common::Regex
source · [−]pub enum Regex<T> {
Satisfy(Rc<dyn Fn(&T) -> bool>),
Concat(Box<Regex<T>>, Box<Regex<T>>),
Group(Box<Regex<T>>),
Or(Box<Regex<T>>, Box<Regex<T>>),
ZeroOrOne(Box<Regex<T>>),
Repeat0(Box<Regex<T>>),
Repeat1(Box<Regex<T>>),
RepeatN(Box<Regex<T>>, usize),
RepeatMinMax(Box<Regex<T>>, usize, Option<usize>),
}Variants
Satisfy(Rc<dyn Fn(&T) -> bool>)
Like a [character class] in regex. Regex that matches any values that satisfy the given predicate.
Concat(Box<Regex<T>>, Box<Regex<T>>)
Like a RS in regex. Concatenate two regex.
Group(Box<Regex<T>>)
Like a (R) in regex. Grouping regex.
Or(Box<Regex<T>>, Box<Regex<T>>)
Like a R|S in regex. Regex alternation.
ZeroOrOne(Box<Regex<T>>)
Like a ? in regex. Regex zero or one.
Repeat0(Box<Regex<T>>)
Like a * in regex. Regex zero or one.
Repeat1(Box<Regex<T>>)
Like a + in regex. Regex one or more.
RepeatN(Box<Regex<T>>, usize)
Like a {n} in regex. Exactly N-times.
RepeatMinMax(Box<Regex<T>>, usize, Option<usize>)
Like a {n,m} or `{n,} in regex. n or n+1 or .. m times.
Implementations
sourceimpl<T: 'static> Regex<T>
impl<T: 'static> Regex<T>
sourcepub fn satisfy(f: impl Fn(&T) -> bool + 'static) -> Self
pub fn satisfy(f: impl Fn(&T) -> bool + 'static) -> Self
Like a [character class] in regex. Build regex that matches any value that satisfies the given predicate.
sourcepub fn zero_or_one(reg: Self) -> Self
pub fn zero_or_one(reg: Self) -> Self
Like a ? in regex. Build regex that matches underlying regex zero or one times.
sourcepub fn repeat1(reg: Self) -> Self
pub fn repeat1(reg: Self) -> Self
Like a + in regex. Build regex that matches underlying regex one or more.
sourcepub fn repeat0(reg: Self) -> Self
pub fn repeat0(reg: Self) -> Self
Like a * in regex. Build regex that matches underlying regex zero or more.
sourcepub fn repeat_n(reg: Self, n: usize) -> Self
pub fn repeat_n(reg: Self, n: usize) -> Self
Like a {n} in regex. Build regex that matches underlying regex N-times.
sourcepub fn repeat_n_or_more(reg: Self, n: usize) -> Self
pub fn repeat_n_or_more(reg: Self, n: usize) -> Self
Like a {n,} in regex. Build regex that matches underlying regex N-times or more.
sourcepub fn repeat_min_max(reg: Self, n: usize, m: usize) -> Self
pub fn repeat_min_max(reg: Self, n: usize, m: usize) -> Self
Like a {n,m} in regex. Build regex that matches underlying regex n or n + 1 or … or m times.
sourcepub fn is(value: T) -> Self where
T: PartialEq + 'static,
pub fn is(value: T) -> Self where
T: PartialEq + 'static,
Build regex that matches given value.
sourcepub fn seq(values: &[T]) -> Self where
T: PartialEq + Clone + 'static,
pub fn seq(values: &[T]) -> Self where
T: PartialEq + Clone + 'static,
Build regex that matches given value sequence.
pub fn compile(&self) -> CompiledRegex<T>
Trait Implementations
Auto Trait Implementations
impl<T> !RefUnwindSafe for Regex<T>
impl<T> !Send for Regex<T>
impl<T> !Sync for Regex<T>
impl<T> Unpin for Regex<T>
impl<T> !UnwindSafe for Regex<T>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more