Trait regex::Replacer [−][src]
Replacer describes types that can be used to replace matches in a string.
In general, users of this crate shouldn’t need to implement this trait,
since implementations are already provided for &str and
FnMut(&Captures) -> String (or any FnMut(&Captures) -> T
where T: AsRef<str>), which covers most use cases.
Required methods
fn replace_append(&mut self, caps: &Captures<'_>, dst: &mut String)[src]
Appends text to dst to replace the current match.
The current match is represented by caps, which is guaranteed to
have a match at capture group 0.
For example, a no-op replacement would be
dst.push_str(caps.get(0).unwrap().as_str()).
Provided methods
fn no_expansion<'r>(&'r mut self) -> Option<Cow<'r, str>>[src]
Return a fixed unchanging replacement string.
When doing replacements, if access to Captures is not needed (e.g.,
the replacement byte string does not need $ expansion), then it can
be beneficial to avoid finding sub-captures.
In general, this is called once for every call to replacen.
fn by_ref<'r>(&'r mut self) -> ReplacerRef<'r, Self>[src]
Return a Replacer that borrows and wraps this Replacer.
This is useful when you want to take a generic Replacer (which might
not be cloneable) and use it without consuming it, so it can be used
more than once.
Example
use regex::{Regex, Replacer}; fn replace_all_twice<R: Replacer>( re: Regex, src: &str, mut rep: R, ) -> String { let dst = re.replace_all(src, rep.by_ref()); let dst = re.replace_all(&dst, rep.by_ref()); dst.into_owned() }
Implementations on Foreign Types
impl<'a> Replacer for &'a str[src]
fn replace_append(&mut self, caps: &Captures<'_>, dst: &mut String)[src]
fn no_expansion(&mut self) -> Option<Cow<'_, str>>[src]
Implementors
impl<'a, R: Replacer + ?Sized + 'a> Replacer for ReplacerRef<'a, R>[src]
fn replace_append(&mut self, caps: &Captures<'_>, dst: &mut String)[src]
fn no_expansion(&mut self) -> Option<Cow<'_, str>>[src]
impl<'t> Replacer for NoExpand<'t>[src]
fn replace_append(&mut self, _: &Captures<'_>, dst: &mut String)[src]
fn no_expansion(&mut self) -> Option<Cow<'_, str>>[src]
impl<F, T> Replacer for F where
F: FnMut(&Captures<'_>) -> T,
T: AsRef<str>, [src]
F: FnMut(&Captures<'_>) -> T,
T: AsRef<str>,