# Trait regex::bytes::Replacer [−] [src]

    pub trait Replacer {
        fn replace_append(&mut self, caps: &Captures, dst: &mut Vec<u8>);

        fn no_expansion<'r>(&'r mut self) -> Option<Cow<'r, [u8]>> { ... }
    }

Replacer describes types that can be used to replace matches in a byte string.

In general, users of this crate shouldn't need to implement this trait, since implementations are already provided for `&[u8]` and `FnMut(&Captures) -> Vec<u8>`, which covers most use cases.

## Required Methods

### `fn replace_append(&mut self, caps: &Captures, dst: &mut Vec<u8>)`

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.extend(caps.at(0).unwrap())`.

## Provided Methods

### `fn no_expansion<'r>(&'r mut self) -> Option<Cow<'r, [u8]>>`

Return a fixed unchanging replacement byte 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`.

## Implementors

- `impl<'a> Replacer for &'a [u8]`
- `impl<'a> Replacer for NoExpand<'a>`

# Help

## Keyboard Shortcuts

?
  Show this help dialog
S
  Focus the search field
⇤
  Move up in search results
⇥
  Move down in search results
⏎
  Go to active search result

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)