<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="generator" content="rustdoc">
    <meta name="description" content="API documentation for the Rust `Captures` struct in crate `regex`.">
    <meta name="keywords" content="rust, rustlang, rust-lang, Captures">

    <title>regex::bytes::Captures - Rust</title>

    <link rel="stylesheet" type="text/css" href="../../normalize.css">
    <link rel="stylesheet" type="text/css" href="../../rustdoc.css">
    <link rel="stylesheet" type="text/css" href="../../main.css">
    

    <link rel="shortcut icon" href="https://www.rust-lang.org/favicon.ico">
    
</head>
<body class="rustdoc struct">
    <!--[if lte IE 8]>
    <div class="warning">
        This old browser is unsupported and will most likely display funky
        things.
    </div>
    <![endif]-->

    

    <nav class="sidebar">
        <a href='../../regex/index.html'><img src='https://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png' alt='logo' width='100'></a>
        <p class='location'>Struct Captures</p><div class="block items"><ul><li><a href="#methods">Methods</a></li><li><a href="#implementations">Trait Implementations</a></li></ul></div><p class='location'><a href='../index.html'>regex</a>::<wbr><a href='index.html'>bytes</a></p><script>window.sidebarCurrent = {name: 'Captures', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></script>
    </nav>

    <nav class="sub">
        <form class="search-form js-only">
            <div class="search-container">
                <input class="search-input" name="search"
                       autocomplete="off"
                       placeholder="Click or press ‘S’ to search, ‘?’ for more options…"
                       type="search">
            </div>
        </form>
    </nav>

    <section id='main' class="content">
<h1 class='fqn'><span class='in-band'>Struct <a href='../index.html'>regex</a>::<wbr><a href='index.html'>bytes</a>::<wbr><a class="struct" href=''>Captures</a></span><span class='out-of-band'><span id='render-detail'>
                   <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
                       [<span class='inner'>&#x2212;</span>]
                   </a>
               </span><a class='srclink' href='../../src/regex/re_bytes.rs.html#695-699' title='goto source code'>[src]</a></span></h1>
<pre class='rust struct'>pub struct Captures&lt;'t&gt; { /* fields omitted */ }</pre><div class='docblock'><p>Captures represents a group of captured byte strings for a single match.</p>

<p>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 <em>also</em> available via the
<code>name</code> method. (Note that the 0th capture is always unnamed and so must be
accessed with the <code>at</code> method.)</p>

<p>Positions returned from a capture group are always byte indices.</p>

<p><code>&#39;t</code> is the lifetime of the matched text.</p>
</div><h2 id='methods'>Methods</h2><h3 class='impl'><span class='in-band'><code>impl&lt;'t&gt; <a class="struct" href="../../regex/bytes/struct.Captures.html" title="struct regex::bytes::Captures">Captures</a>&lt;'t&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/regex/re_bytes.rs.html#701-785' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.pos' class="method"><span id='pos.v' class='invisible'><code>fn <a href='#method.pos' class='fnname'>pos</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>&gt;</code></span></h4>
<div class='docblock'><p>Returns the start and end positions of the Nth capture group. Returns
<code>None</code> if <code>i</code> is not a valid capture group or if the capture group did
not match anything. The positions returned are <em>always</em> byte indices
with respect to the original byte string matched.</p>
</div><h4 id='method.at' class="method"><span id='at.v' class='invisible'><code>fn <a href='#method.at' class='fnname'>at</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;'t [</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>&gt;</code></span></h4>
<div class='docblock'><p>Returns the matched string for the capture group <code>i</code>.  If <code>i</code> isn&#39;t
a valid capture group or didn&#39;t match anything, then <code>None</code> is
returned.</p>
</div><h4 id='method.name' class="method"><span id='name.v' class='invisible'><code>fn <a href='#method.name' class='fnname'>name</a>(&amp;self, name: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;'t [</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>&gt;</code></span></h4>
<div class='docblock'><p>Returns the matched string for the capture group named <code>name</code>.  If
<code>name</code> isn&#39;t a valid capture group or didn&#39;t match anything, then
<code>None</code> is returned.</p>
</div><h4 id='method.iter' class="method"><span id='iter.v' class='invisible'><code>fn <a href='#method.iter' class='fnname'>iter</a>&lt;'a&gt;(&amp;'a self) -&gt; <a class="struct" href="../../regex/bytes/struct.SubCaptures.html" title="struct regex::bytes::SubCaptures">SubCaptures</a>&lt;'a, 't&gt;</code></span></h4>
<div class='docblock'><p>Creates an iterator of all the capture groups in order of appearance
in the regular expression.</p>
</div><h4 id='method.iter_pos' class="method"><span id='iter_pos.v' class='invisible'><code>fn <a href='#method.iter_pos' class='fnname'>iter_pos</a>(&amp;'t self) -&gt; <a class="struct" href="../../regex/bytes/struct.SubCapturesPos.html" title="struct regex::bytes::SubCapturesPos">SubCapturesPos</a>&lt;'t&gt;</code></span></h4>
<div class='docblock'><p>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.</p>
</div><h4 id='method.iter_named' class="method"><span id='iter_named.v' class='invisible'><code>fn <a href='#method.iter_named' class='fnname'>iter_named</a>&lt;'a&gt;(&amp;'a self) -&gt; <a class="struct" href="../../regex/bytes/struct.SubCapturesNamed.html" title="struct regex::bytes::SubCapturesNamed">SubCapturesNamed</a>&lt;'a, 't&gt;</code></span></h4>
<div class='docblock'><p>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.</p>
</div><h4 id='method.expand' class="method"><span id='expand.v' class='invisible'><code>fn <a href='#method.expand' class='fnname'>expand</a>(&amp;self, replacement: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>, dst: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>&gt;)</code></span></h4>
<div class='docblock'><p>Expands all instances of <code>$name</code> in <code>text</code> to the corresponding capture
group <code>name</code>, and writes them to the <code>dst</code> buffer given.</p>

<p><code>name</code> may be an integer corresponding to the index of the
capture group (counted by order of opening parenthesis where <code>0</code> is the
entire match) or it can be a name (consisting of letters, digits or
underscores) corresponding to a named capture group.</p>

<p>If <code>name</code> isn&#39;t a valid capture group (whether the name doesn&#39;t exist
or isn&#39;t a valid index), then it is replaced with the empty string.</p>

<p>The longest possible name is used. e.g., <code>$1a</code> looks up the capture
group named <code>1a</code> and not the capture group at index <code>1</code>. To exert more
precise control over the name, use braces, e.g., <code>${1}a</code>.</p>

<p>To write a literal <code>$</code> use <code>$$</code>.</p>
</div><h4 id='method.len' class="method"><span id='len.v' class='invisible'><code>fn <a href='#method.len' class='fnname'>len</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></span></h4>
<div class='docblock'><p>Returns the number of captured groups.</p>
</div><h4 id='method.is_empty' class="method"><span id='is_empty.v' class='invisible'><code>fn <a href='#method.is_empty' class='fnname'>is_empty</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></span></h4>
<div class='docblock'><p>Returns true if and only if there are no captured groups.</p>
</div></div><h2 id='implementations'>Trait Implementations</h2><h3 class='impl'><span class='in-band'><code>impl&lt;'t&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../regex/bytes/struct.Captures.html" title="struct regex::bytes::Captures">Captures</a>&lt;'t&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/regex/re_bytes.rs.html#787-791' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.fmt' class="method"><span id='fmt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt' class='fnname'>fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code></span></h4>
<div class='docblock'><p>Formats the value using the given formatter.</p>
</div></div><h3 class='impl'><span class='in-band'><code>impl&lt;'t&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html" title="trait core::ops::index::Index">Index</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt; for <a class="struct" href="../../regex/bytes/struct.Captures.html" title="struct regex::bytes::Captures">Captures</a>&lt;'t&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/regex/re_bytes.rs.html#840-846' title='goto source code'>[src]</a></span></h3>
<div class='docblock'><p>Get a group by index.</p>

<p><code>&#39;t</code> is the lifetime of the matched text.</p>

<p>The text can&#39;t outlive the <code>Captures</code> object if this method is
used, because of how <code>Index</code> is defined (normally <code>a[i]</code> is part
of <code>a</code> and can&#39;t outlive it); to do that, use <code>at()</code> instead.</p>

<h1 id='panics' class='section-header'><a href='#panics'>Panics</a></h1>
<p>If there is no group at the given index.</p>
</div><div class='impl-items'><h4 id='associatedtype.Output' class="type"><span id='Output.t' class='invisible'><code>type <a href='https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#associatedtype.Output' class="type">Output</a> = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a></code></span></h4>
<div class='docblock'><p>The returned type after indexing</p>
</div><h4 id='method.index' class="method"><span id='index.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#tymethod.index' class='fnname'>index</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a></code></span></h4>
<div class='docblock'><p>The method for the indexing (<code>container[index]</code>) operation</p>
</div></div><h3 class='impl'><span class='in-band'><code>impl&lt;'t, 'i&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html" title="trait core::ops::index::Index">Index</a>&lt;&amp;'i <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt; for <a class="struct" href="../../regex/bytes/struct.Captures.html" title="struct regex::bytes::Captures">Captures</a>&lt;'t&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/regex/re_bytes.rs.html#860-866' title='goto source code'>[src]</a></span></h3>
<div class='docblock'><p>Get a group by name.</p>

<p><code>&#39;t</code> is the lifetime of the matched text and <code>&#39;i</code> is the lifetime
of the group name (the index).</p>

<p>The text can&#39;t outlive the <code>Captures</code> object if this method is
used, because of how <code>Index</code> is defined (normally <code>a[i]</code> is part
of <code>a</code> and can&#39;t outlive it); to do that, use <code>name</code> instead.</p>

<h1 id='panics-1' class='section-header'><a href='#panics-1'>Panics</a></h1>
<p>If there is no group named by the given value.</p>
</div><div class='impl-items'><h4 id='associatedtype.Output-1' class="type"><span id='Output.t-1' class='invisible'><code>type <a href='https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#associatedtype.Output' class="type">Output</a> = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a></code></span></h4>
<div class='docblock'><p>The returned type after indexing</p>
</div><h4 id='method.index-1' class="method"><span id='index.v-1' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#tymethod.index' class='fnname'>index</a>&lt;'a&gt;(&amp;'a self, name: &amp;'i <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;'a [</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a></code></span></h4>
<div class='docblock'><p>The method for the indexing (<code>container[index]</code>) operation</p>
</div></div></section>
    <section id='search' class="content hidden"></section>

    <section class="footer"></section>

    <aside id="help" class="hidden">
        <div>
            <h1 class="hidden">Help</h1>

            <div class="shortcuts">
                <h2>Keyboard Shortcuts</h2>

                <dl>
                    <dt>?</dt>
                    <dd>Show this help dialog</dd>
                    <dt>S</dt>
                    <dd>Focus the search field</dd>
                    <dt>&larrb;</dt>
                    <dd>Move up in search results</dd>
                    <dt>&rarrb;</dt>
                    <dd>Move down in search results</dd>
                    <dt>&#9166;</dt>
                    <dd>Go to active search result</dd>
                    <dt>+</dt>
                    <dd>Collapse/expand all sections</dd>
                </dl>
            </div>

            <div class="infos">
                <h2>Search Tricks</h2>

                <p>
                    Prefix searches with a type followed by a colon (e.g.
                    <code>fn:</code>) to restrict the search to a given type.
                </p>

                <p>
                    Accepted types are: <code>fn</code>, <code>mod</code>,
                    <code>struct</code>, <code>enum</code>,
                    <code>trait</code>, <code>type</code>, <code>macro</code>,
                    and <code>const</code>.
                </p>

                <p>
                    Search functions by type signature (e.g.
                    <code>vec -> usize</code> or <code>* -> vec</code>)
                </p>
            </div>
        </div>
    </aside>

    

    <script>
        window.rootPath = "../../";
        window.currentCrate = "regex";
    </script>
    <script src="../../main.js"></script>
    <script defer src="../../search-index.js"></script>
</body>
</html>