pub struct Email;Available on crate feature
demo only.Expand description
A macro-generated regular expression matching the pattern: (\w+)@(?<domain>(\w+)(\.\w+)?) with flags: []. See the Regex trait for associated matching and capturing functions.
Trait Implementations§
Source§impl Regex<char, 5> for Email
impl Regex<char, 5> for Email
Source§type Pattern = Then<char, CaptureGroup<char, QuantifierNOrMore<char, Or4<char, ScalarRange<'0', '9'>, ScalarRange<'A', 'Z'>, Scalar<'_'>, ScalarRange<'a', 'z'>>, 1>, 1>, Then<char, Scalar<'@'>, CaptureGroup<char, Then<char, CaptureGroup<char, QuantifierNOrMore<char, Or4<char, ScalarRange<'0', '9'>, ScalarRange<'A', 'Z'>, Scalar<'_'>, ScalarRange<'a', 'z'>>, 1>, 3>, QuantifierNToM<char, CaptureGroup<char, Then<char, Scalar<'.'>, QuantifierNOrMore<char, Or4<char, ScalarRange<'0', '9'>, ScalarRange<'A', 'Z'>, Scalar<'_'>, ScalarRange<'a', 'z'>>, 1>>, 4>, 0, 1>>, 2>>>
type Pattern = Then<char, CaptureGroup<char, QuantifierNOrMore<char, Or4<char, ScalarRange<'0', '9'>, ScalarRange<'A', 'Z'>, Scalar<'_'>, ScalarRange<'a', 'z'>>, 1>, 1>, Then<char, Scalar<'@'>, CaptureGroup<char, Then<char, CaptureGroup<char, QuantifierNOrMore<char, Or4<char, ScalarRange<'0', '9'>, ScalarRange<'A', 'Z'>, Scalar<'_'>, ScalarRange<'a', 'z'>>, 1>, 3>, QuantifierNToM<char, CaptureGroup<char, Then<char, Scalar<'.'>, QuantifierNOrMore<char, Or4<char, ScalarRange<'0', '9'>, ScalarRange<'A', 'Z'>, Scalar<'_'>, ScalarRange<'a', 'z'>>, 1>>, 4>, 0, 1>>, 2>>>
This type is a macro generated combination of ZSTs responsible for doing all of the heavy
lifting involved in actually matching or capturing against a
Haystack. For realistic
expressions, this type will be very long an unpleasant to type, hence implementing it as an
associated type.Source§type Capture<'a, S: HaystackSlice<'a>> = EmailCapture<'a, S>
type Capture<'a, S: HaystackSlice<'a>> = EmailCapture<'a, S>
A macro generated type holding all
N capture groups in this expression, producing ranges
or slices of the haystack with aliases for named groups. The generated type also understands
which groups will always exist in a match and which are optional.Source§fn is_match<'a, H>(hay: impl IntoHaystack<'a, H>) -> boolwhere
H: HaystackOf<'a, I>,
fn is_match<'a, H>(hay: impl IntoHaystack<'a, H>) -> boolwhere
H: HaystackOf<'a, I>,
Returns
true if this Regex matches the entire haystack provided. This should probably
be the default matching function to use. Read moreSource§fn contains_match<'a, H>(hay: impl IntoHaystack<'a, H>) -> boolwhere
H: HaystackOf<'a, I>,
fn contains_match<'a, H>(hay: impl IntoHaystack<'a, H>) -> boolwhere
H: HaystackOf<'a, I>,
Returns
true if this Regex matches any substring of the haystack provided. To retrieve the
actual substring itself, use slice_match or
find_capture. Read moreSource§fn count_matches<'a, H>(
hay: impl IntoHaystack<'a, H>,
overlapping: bool,
) -> usizewhere
H: HaystackOf<'a, I>,
fn count_matches<'a, H>(
hay: impl IntoHaystack<'a, H>,
overlapping: bool,
) -> usizewhere
H: HaystackOf<'a, I>,
Returns the number of matches present in the haystack provided, optionally including
overlapping matches. Read moreSource§fn range_of_match<'a, H>(hay: impl IntoHaystack<'a, H>) -> Option<Range<usize>>where
H: HaystackOf<'a, I>,
fn range_of_match<'a, H>(hay: impl IntoHaystack<'a, H>) -> Option<Range<usize>>where
H: HaystackOf<'a, I>,
Returns the range that matches this Regex first. This is the range variant of
contains_match. For the actual substring itself, see
slice_match. Read moreSource§fn range_of_all_matches<'a, H>(
hay: impl IntoHaystack<'a, H>,
overlapping: bool,
) -> RangeOfAllMatches<'a, I, H, Self::Pattern> ⓘwhere
H: HaystackOf<'a, I>,
fn range_of_all_matches<'a, H>(
hay: impl IntoHaystack<'a, H>,
overlapping: bool,
) -> RangeOfAllMatches<'a, I, H, Self::Pattern> ⓘwhere
H: HaystackOf<'a, I>,
Returns an iterator over the ranges of all substrings in the provided haystack that match
this Regex, optionally
overlapping. For the actual substrins themself, see
slice_all_matches. Read moreSource§fn slice_match<'a, H>(
hay: impl IntoHaystack<'a, H>,
) -> Option<<H as HaystackIter<'a>>::Slice>where
H: HaystackOf<'a, I>,
fn slice_match<'a, H>(
hay: impl IntoHaystack<'a, H>,
) -> Option<<H as HaystackIter<'a>>::Slice>where
H: HaystackOf<'a, I>,
Returns the slice that matches this Regex first. This is the slicing variant of
range_of_match. Read moreSource§fn slice_all_matches<'a, H>(
hay: impl IntoHaystack<'a, H>,
overlapping: bool,
) -> SliceAllMatches<'a, I, H, Self::Pattern> ⓘwhere
H: HaystackOf<'a, I>,
fn slice_all_matches<'a, H>(
hay: impl IntoHaystack<'a, H>,
overlapping: bool,
) -> SliceAllMatches<'a, I, H, Self::Pattern> ⓘwhere
H: HaystackOf<'a, I>,
Returns an iterator over all slices of the provided haystack that match this Regex,
optionally
overlapping. Read moreSource§fn do_capture<'a, H>(
hay: impl IntoHaystack<'a, H>,
) -> Option<Self::Capture<'a, <H as HaystackIter<'a>>::Slice>>where
H: HaystackOf<'a, I>,
fn do_capture<'a, H>(
hay: impl IntoHaystack<'a, H>,
) -> Option<Self::Capture<'a, <H as HaystackIter<'a>>::Slice>>where
H: HaystackOf<'a, I>,
Returns a
Self::Capture representing the provided haystack matched against this Regex.
This includes any named or numbered capturing groups in the expression. As with
is_match, this function acts on the entire haystack, and needs to match
every character from start to end. Read moreSource§fn find_capture<'a, H>(
hay: impl IntoHaystack<'a, H>,
) -> Option<Self::Capture<'a, <H as HaystackIter<'a>>::Slice>>where
H: HaystackOf<'a, I>,
fn find_capture<'a, H>(
hay: impl IntoHaystack<'a, H>,
) -> Option<Self::Capture<'a, <H as HaystackIter<'a>>::Slice>>where
H: HaystackOf<'a, I>,
Returns the
Self::Capture that matches this Regex first, similar to
slice_match but with any named or numbered groups included. Read moreSource§fn find_all_captures<'a, H>(
hay: impl IntoHaystack<'a, H>,
overlapping: bool,
) -> FindAllCaptures<'a, Self, I, H, N> ⓘwhere
H: HaystackOf<'a, I>,
fn find_all_captures<'a, H>(
hay: impl IntoHaystack<'a, H>,
overlapping: bool,
) -> FindAllCaptures<'a, Self, I, H, N> ⓘwhere
H: HaystackOf<'a, I>,
Returns an iterator over
Self::Captures representing every full match of this Regex in
the provided haystack, similar to slice_all_matches. This can
optionally include overlapping matches. Read moreSource§fn replace<'a, M>(
hay_mut: &mut M,
with: <<M as OwnedHaystackable<I>>::Hay<'a> as HaystackIter<'a>>::Slice,
) -> boolwhere
M: OwnedHaystackable<I>,
fn replace<'a, M>(
hay_mut: &mut M,
with: <<M as OwnedHaystackable<I>>::Hay<'a> as HaystackIter<'a>>::Slice,
) -> boolwhere
M: OwnedHaystackable<I>,
Replaces the first match of this Regex in the provided haystack with the provided slice. The
slice type required is the one associated with the provided haystack. The return value is a
boolean indicating whether a match was found and replaced.
Source§fn replace_all<'a, M>(
hay_mut: &mut M,
with: <<M as OwnedHaystackable<I>>::Hay<'a> as HaystackIter<'a>>::Slice,
) -> usizewhere
M: OwnedHaystackable<I>,
fn replace_all<'a, M>(
hay_mut: &mut M,
with: <<M as OwnedHaystackable<I>>::Hay<'a> as HaystackIter<'a>>::Slice,
) -> usizewhere
M: OwnedHaystackable<I>,
Replaces every matching substring in the provided haystack with a copy of the provided
slice. The slice type required is the one associated with the provided haystack. The return
value is an integer representing the number of matches and replacements that occured.
Source§fn replace_all_using<M>(hay_mut: &mut M, using: impl FnMut() -> M) -> usizewhere
M: OwnedHaystackable<I>,
fn replace_all_using<M>(hay_mut: &mut M, using: impl FnMut() -> M) -> usizewhere
M: OwnedHaystackable<I>,
Replaces every matching substring in the provided haystack with the return value of the
provided function. The return type of this functions needs to match the provided haystack.
The return value is an integer representing the number of matches and replacements that
occured. Read more
Source§fn replace_captured<M, F>(hay_mut: &mut M, replacer: F) -> boolwhere
M: OwnedHaystackable<I>,
F: for<'a> FnOnce(Self::Capture<'a, <<M as OwnedHaystackable<I>>::Hay<'a> as HaystackIter<'a>>::Slice>) -> M,
fn replace_captured<M, F>(hay_mut: &mut M, replacer: F) -> boolwhere
M: OwnedHaystackable<I>,
F: for<'a> FnOnce(Self::Capture<'a, <<M as OwnedHaystackable<I>>::Hay<'a> as HaystackIter<'a>>::Slice>) -> M,
Replaces the first captured substring in the provided haystack with a computed value. The
return value is a boolean indicating whether a match was found and replaced. Read more
Source§fn replace_all_captured<M, F>(hay_mut: &mut M, replacer: F) -> usizewhere
M: OwnedHaystackable<I>,
F: for<'a> FnMut(Self::Capture<'a, <<M as OwnedHaystackable<I>>::Hay<'a> as HaystackIter<'a>>::Slice>) -> M,
fn replace_all_captured<M, F>(hay_mut: &mut M, replacer: F) -> usizewhere
M: OwnedHaystackable<I>,
F: for<'a> FnMut(Self::Capture<'a, <<M as OwnedHaystackable<I>>::Hay<'a> as HaystackIter<'a>>::Slice>) -> M,
Replaces all captured substring in the provided haystack with a computed value. The return
value is an integer indicating the number of matches found and replaced. Read more
Source§impl Regex<u8, 5> for Email
impl Regex<u8, 5> for Email
Source§type Pattern = Then<u8, CaptureGroup<u8, QuantifierNOrMore<u8, Or4<u8, ByteRange<48, 57>, ByteRange<65, 90>, Byte<95>, ByteRange<97, 122>>, 1>, 1>, Then<u8, Byte<64>, CaptureGroup<u8, Then<u8, CaptureGroup<u8, QuantifierNOrMore<u8, Or4<u8, ByteRange<48, 57>, ByteRange<65, 90>, Byte<95>, ByteRange<97, 122>>, 1>, 3>, QuantifierNToM<u8, CaptureGroup<u8, Then<u8, Byte<46>, QuantifierNOrMore<u8, Or4<u8, ByteRange<48, 57>, ByteRange<65, 90>, Byte<95>, ByteRange<97, 122>>, 1>>, 4>, 0, 1>>, 2>>>
type Pattern = Then<u8, CaptureGroup<u8, QuantifierNOrMore<u8, Or4<u8, ByteRange<48, 57>, ByteRange<65, 90>, Byte<95>, ByteRange<97, 122>>, 1>, 1>, Then<u8, Byte<64>, CaptureGroup<u8, Then<u8, CaptureGroup<u8, QuantifierNOrMore<u8, Or4<u8, ByteRange<48, 57>, ByteRange<65, 90>, Byte<95>, ByteRange<97, 122>>, 1>, 3>, QuantifierNToM<u8, CaptureGroup<u8, Then<u8, Byte<46>, QuantifierNOrMore<u8, Or4<u8, ByteRange<48, 57>, ByteRange<65, 90>, Byte<95>, ByteRange<97, 122>>, 1>>, 4>, 0, 1>>, 2>>>
This type is a macro generated combination of ZSTs responsible for doing all of the heavy
lifting involved in actually matching or capturing against a
Haystack. For realistic
expressions, this type will be very long an unpleasant to type, hence implementing it as an
associated type.Source§type Capture<'a, S: HaystackSlice<'a>> = EmailCapture<'a, S>
type Capture<'a, S: HaystackSlice<'a>> = EmailCapture<'a, S>
A macro generated type holding all
N capture groups in this expression, producing ranges
or slices of the haystack with aliases for named groups. The generated type also understands
which groups will always exist in a match and which are optional.Source§fn is_match<'a, H>(hay: impl IntoHaystack<'a, H>) -> boolwhere
H: HaystackOf<'a, I>,
fn is_match<'a, H>(hay: impl IntoHaystack<'a, H>) -> boolwhere
H: HaystackOf<'a, I>,
Returns
true if this Regex matches the entire haystack provided. This should probably
be the default matching function to use. Read moreSource§fn contains_match<'a, H>(hay: impl IntoHaystack<'a, H>) -> boolwhere
H: HaystackOf<'a, I>,
fn contains_match<'a, H>(hay: impl IntoHaystack<'a, H>) -> boolwhere
H: HaystackOf<'a, I>,
Returns
true if this Regex matches any substring of the haystack provided. To retrieve the
actual substring itself, use slice_match or
find_capture. Read moreSource§fn count_matches<'a, H>(
hay: impl IntoHaystack<'a, H>,
overlapping: bool,
) -> usizewhere
H: HaystackOf<'a, I>,
fn count_matches<'a, H>(
hay: impl IntoHaystack<'a, H>,
overlapping: bool,
) -> usizewhere
H: HaystackOf<'a, I>,
Returns the number of matches present in the haystack provided, optionally including
overlapping matches. Read moreSource§fn range_of_match<'a, H>(hay: impl IntoHaystack<'a, H>) -> Option<Range<usize>>where
H: HaystackOf<'a, I>,
fn range_of_match<'a, H>(hay: impl IntoHaystack<'a, H>) -> Option<Range<usize>>where
H: HaystackOf<'a, I>,
Returns the range that matches this Regex first. This is the range variant of
contains_match. For the actual substring itself, see
slice_match. Read moreSource§fn range_of_all_matches<'a, H>(
hay: impl IntoHaystack<'a, H>,
overlapping: bool,
) -> RangeOfAllMatches<'a, I, H, Self::Pattern> ⓘwhere
H: HaystackOf<'a, I>,
fn range_of_all_matches<'a, H>(
hay: impl IntoHaystack<'a, H>,
overlapping: bool,
) -> RangeOfAllMatches<'a, I, H, Self::Pattern> ⓘwhere
H: HaystackOf<'a, I>,
Returns an iterator over the ranges of all substrings in the provided haystack that match
this Regex, optionally
overlapping. For the actual substrins themself, see
slice_all_matches. Read moreSource§fn slice_match<'a, H>(
hay: impl IntoHaystack<'a, H>,
) -> Option<<H as HaystackIter<'a>>::Slice>where
H: HaystackOf<'a, I>,
fn slice_match<'a, H>(
hay: impl IntoHaystack<'a, H>,
) -> Option<<H as HaystackIter<'a>>::Slice>where
H: HaystackOf<'a, I>,
Returns the slice that matches this Regex first. This is the slicing variant of
range_of_match. Read moreSource§fn slice_all_matches<'a, H>(
hay: impl IntoHaystack<'a, H>,
overlapping: bool,
) -> SliceAllMatches<'a, I, H, Self::Pattern> ⓘwhere
H: HaystackOf<'a, I>,
fn slice_all_matches<'a, H>(
hay: impl IntoHaystack<'a, H>,
overlapping: bool,
) -> SliceAllMatches<'a, I, H, Self::Pattern> ⓘwhere
H: HaystackOf<'a, I>,
Returns an iterator over all slices of the provided haystack that match this Regex,
optionally
overlapping. Read moreSource§fn do_capture<'a, H>(
hay: impl IntoHaystack<'a, H>,
) -> Option<Self::Capture<'a, <H as HaystackIter<'a>>::Slice>>where
H: HaystackOf<'a, I>,
fn do_capture<'a, H>(
hay: impl IntoHaystack<'a, H>,
) -> Option<Self::Capture<'a, <H as HaystackIter<'a>>::Slice>>where
H: HaystackOf<'a, I>,
Returns a
Self::Capture representing the provided haystack matched against this Regex.
This includes any named or numbered capturing groups in the expression. As with
is_match, this function acts on the entire haystack, and needs to match
every character from start to end. Read moreSource§fn find_capture<'a, H>(
hay: impl IntoHaystack<'a, H>,
) -> Option<Self::Capture<'a, <H as HaystackIter<'a>>::Slice>>where
H: HaystackOf<'a, I>,
fn find_capture<'a, H>(
hay: impl IntoHaystack<'a, H>,
) -> Option<Self::Capture<'a, <H as HaystackIter<'a>>::Slice>>where
H: HaystackOf<'a, I>,
Returns the
Self::Capture that matches this Regex first, similar to
slice_match but with any named or numbered groups included. Read moreSource§fn find_all_captures<'a, H>(
hay: impl IntoHaystack<'a, H>,
overlapping: bool,
) -> FindAllCaptures<'a, Self, I, H, N> ⓘwhere
H: HaystackOf<'a, I>,
fn find_all_captures<'a, H>(
hay: impl IntoHaystack<'a, H>,
overlapping: bool,
) -> FindAllCaptures<'a, Self, I, H, N> ⓘwhere
H: HaystackOf<'a, I>,
Returns an iterator over
Self::Captures representing every full match of this Regex in
the provided haystack, similar to slice_all_matches. This can
optionally include overlapping matches. Read moreSource§fn replace<'a, M>(
hay_mut: &mut M,
with: <<M as OwnedHaystackable<I>>::Hay<'a> as HaystackIter<'a>>::Slice,
) -> boolwhere
M: OwnedHaystackable<I>,
fn replace<'a, M>(
hay_mut: &mut M,
with: <<M as OwnedHaystackable<I>>::Hay<'a> as HaystackIter<'a>>::Slice,
) -> boolwhere
M: OwnedHaystackable<I>,
Replaces the first match of this Regex in the provided haystack with the provided slice. The
slice type required is the one associated with the provided haystack. The return value is a
boolean indicating whether a match was found and replaced.
Source§fn replace_all<'a, M>(
hay_mut: &mut M,
with: <<M as OwnedHaystackable<I>>::Hay<'a> as HaystackIter<'a>>::Slice,
) -> usizewhere
M: OwnedHaystackable<I>,
fn replace_all<'a, M>(
hay_mut: &mut M,
with: <<M as OwnedHaystackable<I>>::Hay<'a> as HaystackIter<'a>>::Slice,
) -> usizewhere
M: OwnedHaystackable<I>,
Replaces every matching substring in the provided haystack with a copy of the provided
slice. The slice type required is the one associated with the provided haystack. The return
value is an integer representing the number of matches and replacements that occured.
Source§fn replace_all_using<M>(hay_mut: &mut M, using: impl FnMut() -> M) -> usizewhere
M: OwnedHaystackable<I>,
fn replace_all_using<M>(hay_mut: &mut M, using: impl FnMut() -> M) -> usizewhere
M: OwnedHaystackable<I>,
Replaces every matching substring in the provided haystack with the return value of the
provided function. The return type of this functions needs to match the provided haystack.
The return value is an integer representing the number of matches and replacements that
occured. Read more
Source§fn replace_captured<M, F>(hay_mut: &mut M, replacer: F) -> boolwhere
M: OwnedHaystackable<I>,
F: for<'a> FnOnce(Self::Capture<'a, <<M as OwnedHaystackable<I>>::Hay<'a> as HaystackIter<'a>>::Slice>) -> M,
fn replace_captured<M, F>(hay_mut: &mut M, replacer: F) -> boolwhere
M: OwnedHaystackable<I>,
F: for<'a> FnOnce(Self::Capture<'a, <<M as OwnedHaystackable<I>>::Hay<'a> as HaystackIter<'a>>::Slice>) -> M,
Replaces the first captured substring in the provided haystack with a computed value. The
return value is a boolean indicating whether a match was found and replaced. Read more
Source§fn replace_all_captured<M, F>(hay_mut: &mut M, replacer: F) -> usizewhere
M: OwnedHaystackable<I>,
F: for<'a> FnMut(Self::Capture<'a, <<M as OwnedHaystackable<I>>::Hay<'a> as HaystackIter<'a>>::Slice>) -> M,
fn replace_all_captured<M, F>(hay_mut: &mut M, replacer: F) -> usizewhere
M: OwnedHaystackable<I>,
F: for<'a> FnMut(Self::Capture<'a, <<M as OwnedHaystackable<I>>::Hay<'a> as HaystackIter<'a>>::Slice>) -> M,
Replaces all captured substring in the provided haystack with a computed value. The return
value is an integer indicating the number of matches found and replaced. Read more
Auto Trait Implementations§
impl Freeze for Email
impl RefUnwindSafe for Email
impl Send for Email
impl Sync for Email
impl Unpin for Email
impl UnsafeUnpin for Email
impl UnwindSafe for Email
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more