Struct fancy_regex::Captures
source · pub struct Captures<'t> { /* private fields */ }
Expand description
A set of capture groups found for a regex.
Implementations§
source§impl<'t> Captures<'t>
impl<'t> Captures<'t>
sourcepub fn get(&self, i: usize) -> Option<Match<'t>>
pub fn get(&self, i: usize) -> Option<Match<'t>>
Get the capture group by its index in the regex.
If there is no match for that group or the index does not correspond to a group, None
is
returned. The index 0 returns the whole match.
sourcepub fn name(&self, name: &str) -> Option<Match<'t>>
pub fn name(&self, name: &str) -> Option<Match<'t>>
Returns the match for a named capture group. Returns None
the capture
group did not match or if there is no group with the given name.
sourcepub fn expand(&self, replacement: &str, dst: &mut String)
pub fn expand(&self, replacement: &str, dst: &mut String)
Expands all instances of $group
in replacement
to the corresponding
capture group name
, and writes them to the dst
buffer given.
group
may be an integer corresponding to the index of the
capture group (counted by order of opening parenthesis where \0
is the
entire match) or it can be a name (consisting of letters, digits or
underscores) corresponding to a named capture group.
If group
isn’t a valid capture group (whether the name doesn’t exist
or isn’t a valid index), then it is replaced with the empty string.
The longest possible name is used. e.g., $1a
looks up the capture
group named 1a
and not the capture group at index 1
. To exert more
precise control over the name, use braces, e.g., ${1}a
.
To write a literal $
, use $$
.
For more control over expansion, see Expander
.
sourcepub fn iter<'c>(&'c self) -> SubCaptureMatches<'c, 't> ⓘ
pub fn iter<'c>(&'c self) -> SubCaptureMatches<'c, 't> ⓘ
Iterate over the captured groups in order in which they appeared in the regex. The first capture corresponds to the whole match.
Trait Implementations§
source§impl<'t, 'i> Index<&'i str> for Captures<'t>
impl<'t, 'i> Index<&'i str> for Captures<'t>
Copied from regex::Captures
…
Get a group by name.
't
is the lifetime of the matched text and 'i
is the lifetime
of the group name (the index).
The text can’t outlive the Captures
object if this method is
used, because of how Index
is defined (normally a[i]
is part
of a
and can’t outlive it); to do that, use name
instead.
Panics
If there is no group named by the given value.
source§impl<'t> Index<usize> for Captures<'t>
impl<'t> Index<usize> for Captures<'t>
Copied from regex::Captures
…
Get a group by index.
't
is the lifetime of the matched text.
The text can’t outlive the Captures
object if this method is
used, because of how Index
is defined (normally a[i]
is part
of a
and can’t outlive it); to do that, use get()
instead.
Panics
If there is no group at the given index.