pub struct NoExpand<'s>(pub &'s [u8]);
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::bytes::{NoExpand, Regex};
let re = Regex::new(r"(?<last>[^,\s]+),\s+(\S+)").unwrap();
let result = re.replace(b"Springsteen, Bruce", NoExpand(b"$2 $last"));
assert_eq!(result, &b"$2 $last"[..]);
Tuple Fields§
§0: &'s [u8]
Trait Implementations§
source§impl<'s> Replacer for NoExpand<'s>
impl<'s> Replacer for NoExpand<'s>
source§fn replace_append(&mut self, _: &Captures<'_>, dst: &mut Vec<u8>)
fn replace_append(&mut self, _: &Captures<'_>, dst: &mut Vec<u8>)
Appends possibly empty data to
dst
to replace the current match. Read moresource§fn no_expansion(&mut self) -> Option<Cow<'_, [u8]>>
fn no_expansion(&mut self) -> Option<Cow<'_, [u8]>>
Return a fixed unchanging replacement byte 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> Freeze for NoExpand<'s>
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)