Struct regex::bytes::Captures
[−]
[src]
pub struct Captures<'t> { /* fields omitted */ }
Captures represents a group of captured byte strings for a single match.
The 0th capture always corresponds to the entire match. Each subsequent
index corresponds to the next capture group in the regex. If a capture
group is named, then the matched byte string is also available via the
name
method. (Note that the 0th capture is always unnamed and so must be
accessed with the at
method.)
Positions returned from a capture group are always byte indices.
't
is the lifetime of the matched text.
Methods
impl<'t> Captures<'t>
[src]
impl<'t> Captures<'t>
pub fn pos(&self, i: usize) -> Option<(usize, usize)>
[src]
pub fn pos(&self, i: usize) -> Option<(usize, usize)>
Returns the start and end positions of the Nth capture group. Returns
None
if i
is not a valid capture group or if the capture group did
not match anything. The positions returned are always byte indices
with respect to the original byte string matched.
pub fn at(&self, i: usize) -> Option<&'t [u8]>
[src]
pub fn at(&self, i: usize) -> Option<&'t [u8]>
Returns the matched string for the capture group i
. If i
isn't
a valid capture group or didn't match anything, then None
is
returned.
pub fn name(&self, name: &str) -> Option<&'t [u8]>
[src]
pub fn name(&self, name: &str) -> Option<&'t [u8]>
Returns the matched string for the capture group named name
. If
name
isn't a valid capture group or didn't match anything, then
None
is returned.
ⓘImportant traits for SubCaptures<'c, 't>pub fn iter<'a>(&'a self) -> SubCaptures<'a, 't>
[src]
pub fn iter<'a>(&'a self) -> SubCaptures<'a, 't>
Creates an iterator of all the capture groups in order of appearance in the regular expression.
ⓘImportant traits for SubCapturesPos<'c>pub fn iter_pos(&'t self) -> SubCapturesPos<'t>
[src]
pub fn iter_pos(&'t self) -> SubCapturesPos<'t>
Creates an iterator of all the capture group positions in order of appearance in the regular expression. Positions are byte indices in terms of the original string matched.
ⓘImportant traits for SubCapturesNamed<'c, 't>pub fn iter_named<'a>(&'a self) -> SubCapturesNamed<'a, 't>
[src]
pub fn iter_named<'a>(&'a self) -> SubCapturesNamed<'a, 't>
Creates an iterator of all named groups as an tuple with the group name and the value. The iterator returns these values in arbitrary order.
pub fn expand(&self, replacement: &[u8], dst: &mut Vec<u8>)
[src]
pub fn expand(&self, replacement: &[u8], dst: &mut Vec<u8>)
Expands all instances of $name
in text
to the corresponding capture
group name
, and writes them to the dst
buffer given.
name
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 name
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 $$
.
pub fn len(&self) -> usize
[src]
pub fn len(&self) -> usize
Returns the number of captured groups.
pub fn is_empty(&self) -> bool
[src]
pub fn is_empty(&self) -> bool
Returns true if and only if there are no captured groups.
Trait Implementations
impl<'t> Debug for Captures<'t>
[src]
impl<'t> Debug for Captures<'t>
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl<'t> Index<usize> for Captures<'t>
[src]
impl<'t> Index<usize> for Captures<'t>
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 at()
instead.
Panics
If there is no group at the given index.
type Output = [u8]
The returned type after indexing.
fn index(&self, i: usize) -> &[u8]
[src]
fn index(&self, i: usize) -> &[u8]
Performs the indexing (container[index]
) operation.
impl<'t, 'i> Index<&'i str> for Captures<'t>
[src]
impl<'t, 'i> Index<&'i str> for Captures<'t>
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.