pub struct NoExpand<'s>(pub &'s str);
Expand description
A helper type for forcing literal string replacement.
It can be used with routines like Regex::replace
and
Regex::replace_all
to do a literal string replacement without expanding
$name
to their corresponding capture groups. This can be both convenient
(to avoid escaping $
, for example) and faster (since capture groups
don’t need to be found).
's
is the lifetime of the literal string to use.
Example
use regex::{NoExpand, Regex};
let re = Regex::new(r"(?<last>[^,\s]+),\s+(\S+)").unwrap();
let result = re.replace("Springsteen, Bruce", NoExpand("$2 $last"));
assert_eq!(result, "$2 $last");
Tuple Fields§
§0: &'s str
Trait Implementations§
source§impl<'s> Replacer for NoExpand<'s>
impl<'s> Replacer for NoExpand<'s>
source§fn replace_append(&mut self, _: &Captures<'_>, dst: &mut String)
fn replace_append(&mut self, _: &Captures<'_>, dst: &mut String)
Appends possibly empty data to
dst
to replace the current match. Read moresource§fn no_expansion(&mut self) -> Option<Cow<'_, str>>
fn no_expansion(&mut self) -> Option<Cow<'_, str>>
Return a fixed unchanging replacement string. Read more
source§fn by_ref<'r>(&'r mut self) -> ReplacerRef<'r, Self>
fn by_ref<'r>(&'r mut self) -> ReplacerRef<'r, Self>
Auto Trait Implementations§
impl<'s> RefUnwindSafe for NoExpand<'s>
impl<'s> Send for NoExpand<'s>
impl<'s> Sync for NoExpand<'s>
impl<'s> Unpin for NoExpand<'s>
impl<'s> UnwindSafe for NoExpand<'s>
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