<!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 `RegexBuilder` struct in crate `regex`.">
    <meta name="keywords" content="rust, rustlang, rust-lang, RegexBuilder">

    <title>regex::RegexBuilder - 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 RegexBuilder</p><div class="block items"><ul><li><a href="#methods">Methods</a></li></ul></div><p class='location'><a href='index.html'>regex</a></p><script>window.sidebarCurrent = {name: 'RegexBuilder', 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 class="struct" href=''>RegexBuilder</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_builder.rs.html#55' title='goto source code'>[src]</a></span></h1>
<pre class='rust struct'>pub struct RegexBuilder(_);</pre><div class='docblock'><p>A configurable builder for a regular expression.</p>

<p>A builder can be used to configure how the regex is built, for example, by
setting the default flags (which can be overridden in the expression
itself) or setting various limits.</p>
</div><h2 id='methods'>Methods</h2><h3 class='impl'><span class='in-band'><code>impl <a class="struct" href="../regex/struct.RegexBuilder.html" title="struct regex::RegexBuilder">RegexBuilder</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/regex/re_builder.rs.html#57-148' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.new' class="method"><span id='new.v' class='invisible'><code>fn <a href='#method.new' class='fnname'>new</a>(pattern: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -&gt; <a class="struct" href="../regex/struct.RegexBuilder.html" title="struct regex::RegexBuilder">RegexBuilder</a></code></span></h4>
<div class='docblock'><p>Create a new regular expression builder with the given pattern.</p>

<p>If the pattern is invalid, then an error will be returned when
<code>compile</code> is called.</p>
</div><h4 id='method.compile' class="method"><span id='compile.v' class='invisible'><code>fn <a href='#method.compile' class='fnname'>compile</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../regex/struct.Regex.html" title="struct regex::Regex">Regex</a>, <a class="enum" href="../regex/enum.Error.html" title="enum regex::Error">Error</a>&gt;</code></span></h4>
<div class='docblock'><p>Consume the builder and compile the regular expression.</p>

<p>Note that calling <code>as_str</code> on the resulting <code>Regex</code> will produce the
pattern given to <code>new</code> verbatim. Notably, it will not incorporate any
of the flags set on this builder.</p>
</div><h4 id='method.case_insensitive' class="method"><span id='case_insensitive.v' class='invisible'><code>fn <a href='#method.case_insensitive' class='fnname'>case_insensitive</a>(self, yes: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>) -&gt; <a class="struct" href="../regex/struct.RegexBuilder.html" title="struct regex::RegexBuilder">RegexBuilder</a></code></span></h4>
<div class='docblock'><p>Set the value for the case insensitive (<code>i</code>) flag.</p>
</div><h4 id='method.multi_line' class="method"><span id='multi_line.v' class='invisible'><code>fn <a href='#method.multi_line' class='fnname'>multi_line</a>(self, yes: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>) -&gt; <a class="struct" href="../regex/struct.RegexBuilder.html" title="struct regex::RegexBuilder">RegexBuilder</a></code></span></h4>
<div class='docblock'><p>Set the value for the multi-line matching (<code>m</code>) flag.</p>
</div><h4 id='method.dot_matches_new_line' class="method"><span id='dot_matches_new_line.v' class='invisible'><code>fn <a href='#method.dot_matches_new_line' class='fnname'>dot_matches_new_line</a>(self, yes: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>) -&gt; <a class="struct" href="../regex/struct.RegexBuilder.html" title="struct regex::RegexBuilder">RegexBuilder</a></code></span></h4>
<div class='docblock'><p>Set the value for the any character (<code>s</code>) flag, where in <code>.</code> matches
anything when <code>s</code> is set and matches anything except for new line when
it is not set (the default).</p>

<p>N.B. &quot;matches anything&quot; means &quot;any byte&quot; for <code>regex::bytes::Regex</code>
expressions and means &quot;any Unicode codepoint&quot; for <code>regex::Regex</code>
expressions.</p>
</div><h4 id='method.swap_greed' class="method"><span id='swap_greed.v' class='invisible'><code>fn <a href='#method.swap_greed' class='fnname'>swap_greed</a>(self, yes: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>) -&gt; <a class="struct" href="../regex/struct.RegexBuilder.html" title="struct regex::RegexBuilder">RegexBuilder</a></code></span></h4>
<div class='docblock'><p>Set the value for the greedy swap (<code>U</code>) flag.</p>
</div><h4 id='method.ignore_whitespace' class="method"><span id='ignore_whitespace.v' class='invisible'><code>fn <a href='#method.ignore_whitespace' class='fnname'>ignore_whitespace</a>(self, yes: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>) -&gt; <a class="struct" href="../regex/struct.RegexBuilder.html" title="struct regex::RegexBuilder">RegexBuilder</a></code></span></h4>
<div class='docblock'><p>Set the value for the ignore whitespace (<code>x</code>) flag.</p>
</div><h4 id='method.unicode' class="method"><span id='unicode.v' class='invisible'><code>fn <a href='#method.unicode' class='fnname'>unicode</a>(self, yes: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>) -&gt; <a class="struct" href="../regex/struct.RegexBuilder.html" title="struct regex::RegexBuilder">RegexBuilder</a></code></span></h4>
<div class='docblock'><p>Set the value for the Unicode (<code>u</code>) flag.</p>

<p>For byte based regular expressions, this is disabled by default.</p>
</div><h4 id='method.size_limit' class="method"><span id='size_limit.v' class='invisible'><code>fn <a href='#method.size_limit' class='fnname'>size_limit</a>(self, limit: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="../regex/struct.RegexBuilder.html" title="struct regex::RegexBuilder">RegexBuilder</a></code></span></h4>
<div class='docblock'><p>Set the approximate size limit of the compiled regular expression.</p>

<p>This roughly corresponds to the number of bytes occupied by a single
compiled program. If the program exceeds this number, then a
compilation error is returned.</p>
</div><h4 id='method.dfa_size_limit' class="method"><span id='dfa_size_limit.v' class='invisible'><code>fn <a href='#method.dfa_size_limit' class='fnname'>dfa_size_limit</a>(self, limit: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="../regex/struct.RegexBuilder.html" title="struct regex::RegexBuilder">RegexBuilder</a></code></span></h4>
<div class='docblock'><p>Set the approximate size of the cache used by the DFA.</p>

<p>This roughly corresponds to the number of bytes that the DFA will
use while searching.</p>

<p>Note that this is a <em>per thread</em> limit. There is no way to set a global
limit. In particular, if a regex is used from multiple threads
simulanteously, then each thread may use up to the number of bytes
specified here.</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>