Files
hustoj/web/cppreference-zh/chmhelp/cpp-regex-basic_regex.html
2025-08-01 12:57:54 +08:00

267 lines
14 KiB
HTML

<!DOCTYPE html>
<html lang="zh" dir="ltr" class="client-nojs" xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh">
<head><meta http-equiv="x-ua-compatible" content="ie=edge">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>std::basic_regex</title>
<link rel="stylesheet" href="ext.css" />
<link rel="stylesheet" href="site_modules.css" />
</head>
<body class="mediawiki ltr sitedir-ltr ns-0 ns-subject page-cpp_regex_basic_regex skin-cppreference2 action-view cpp-navbar">
<div id="cpp-content-base">
<div id="content"><a id="top"></a>
<h1 id="firstHeading" class="firstHeading"><span style="font-size:0.7em; line-height:130%">std::</span>basic_regex</h1>
<div id="bodyContent">
<div id="contentSub"><span class="subpages">&lt; <a href="cpp.html">cpp</a>&lrm; | <a href="cpp-regex.html">regex</a></span></div>
<div id="mw-content-text" lang="zh" dir="ltr" class="mw-content-ltr" xml:lang="zh">
<table class="t-dcl-begin">
<tbody>
<tr class="t-dsc-header">
<td>
<div>&#23450;&#20041;&#20110;&#22836;&#25991;&#20214; <code><a href="cpp-header-regex.html">&lt;regex&gt;</a></code></div>
</td>
<td></td>
<td></td>
</tr>
<tr class="t-dcl t-since-cxx11">
<td>
<div><span class="mw-geshi cpp source-cpp"><span class="kw1">template</span> <span class="sy1">&lt;</span><br /></span>
<p>&nbsp; &nbsp; <span class="kw1">class</span> CharT,<br />
&nbsp; &nbsp; <span class="kw1">class</span> Traits <span class="sy1">=</span> <a href="cpp-regex-regex_traits.html"><span class="kw2023">std::<span class="me2">regex_traits</span></span></a><span class="sy1">&lt;</span>CharT<span class="sy1">&gt;</span><br /></p>
<span class="sy1">&gt;</span> <span class="kw1">class</span> basic_regex<span class="sy4">;</span></div>
</td>
<td class="t-dcl-nopad"></td>
<td><span class="t-mark-rev t-since-cxx11">(C++11 &#36215;)</span></td>
</tr>
<tr class="t-dcl-sep">
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<p>&#31867;&#27169;&#26495; <code>basic_regex</code> &#25552;&#20379;&#20445;&#26377;&#27491;&#21017;&#34920;&#36798;&#24335;&#30340;&#36890;&#29992;&#26694;&#26550;&#12290;</p>
<p>&#25552;&#20379;&#23545;&#20110;&#24120;&#35265;&#31867;&#22411;&#30340;&#20960;&#20010;&#29305;&#21270;&#65306;</p>
<table class="t-dsc-begin">
<tr class="t-dsc-header">
<td colspan="2">
<div>&#23450;&#20041;&#20110;&#22836;&#25991;&#20214; <code><a href="cpp-header-regex.html">&lt;regex&gt;</a></code></div>
</td>
</tr>
<tr class="t-dsc-hitem">
<td>&#31867;&#22411;</td>
<td>&#23450;&#20041;</td>
</tr>
<tr class="t-dsc">
<td><code>regex</code></td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">basic_regex<span class="sy1">&lt;</span><span class="kw4">char</span><span class="sy1">&gt;</span></span></span></td>
</tr>
<tr class="t-dsc">
<td><code>wregex</code></td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">basic_regex<span class="sy1">&lt;</span><span class="kw4">wchar_t</span><span class="sy1">&gt;</span></span></span></td>
</tr>
</table>
<h3><span class="mw-headline" id=".E6.88.90.E5.91.98.E7.B1.BB.E5.9E.8B">&#25104;&#21592;&#31867;&#22411;</span></h3>
<table class="t-dsc-begin">
<tr class="t-dsc-hitem">
<td>&#25104;&#21592;&#31867;&#22411;</td>
<td>&#23450;&#20041;</td>
</tr>
<tr class="t-dsc">
<td><code>value_type</code></td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">CharT</span></span></td>
</tr>
<tr class="t-dsc">
<td><code>traits_type</code></td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">Traits</span></span></td>
</tr>
<tr class="t-dsc">
<td><code>string_type</code></td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">Traits<span class="sy4">::</span><span class="me2">string_type</span></span></span></td>
</tr>
<tr class="t-dsc">
<td><code>locale_type</code></td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">Traits<span class="sy4">::</span><span class="me2">locale_type</span></span></span></td>
</tr>
<tr class="t-dsc">
<td><code>flag_type</code></td>
<td><span class="t-lc"><a href="cpp-regex-syntax_option_type.html">std::regex_constants::syntax_option_type</a></span></td>
</tr>
</table>
<h3><span class="mw-headline" id=".E6.88.90.E5.91.98.E5.87.BD.E6.95.B0">&#25104;&#21592;&#20989;&#25968;</span></h3>
<table class="t-dsc-begin">
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div t-dsc-member-nobold-div">
<div><a href="cpp-regex-basic_regex-basic_regex.html"><span class="t-lines"><span>(&#26500;&#36896;&#20989;&#25968;)</span></span></a></div>
</div>
</td>
<td>&#26500;&#36896; regex &#23545;&#35937;<br />
<span class="t-mark">(&#20844;&#24320;&#25104;&#21592;&#20989;&#25968;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div t-dsc-member-nobold-div">
<div><a href="cpp-regex-basic_regex-~basic_regex.html"><span class="t-lines"><span>(&#26512;&#26500;&#20989;&#25968;)</span></span></a></div>
</div>
</td>
<td>&#26512;&#26500; regex &#23545;&#35937;<br />
<span class="t-mark">(&#20844;&#24320;&#25104;&#21592;&#20989;&#25968;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-regex-basic_regex-operator=.html"><span class="t-lines"><span>operator=</span></span></a></div>
</div>
</td>
<td>&#36171;&#20540;&#20869;&#23481;<br />
<span class="t-mark">(&#20844;&#24320;&#25104;&#21592;&#20989;&#25968;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-regex-basic_regex-assign.html"><span class="t-lines"><span>assign</span></span></a></div>
</div>
</td>
<td>&#36171;&#20540;&#20869;&#23481;<br />
<span class="t-mark">(&#20844;&#24320;&#25104;&#21592;&#20989;&#25968;)</span></td>
</tr>
<tr>
<td colspan="2">
<h5><span class="mw-headline" id=".E8.A7.82.E5.AF.9F.E5.99.A8">&#35266;&#23519;&#22120;</span></h5>
</td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-regex-basic_regex-mark_count.html"><span class="t-lines"><span>mark_count</span></span></a></div>
</div>
</td>
<td>&#36820;&#22238;&#27491;&#21017;&#34920;&#36798;&#24335;&#20013;&#26377;&#26631;&#35760;&#30340;&#23376;&#34920;&#36798;&#24335;&#25968;&#37327;<br />
<span class="t-mark">(&#20844;&#24320;&#25104;&#21592;&#20989;&#25968;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-regex-basic_regex-flags.html"><span class="t-lines"><span>flags</span></span></a></div>
</div>
</td>
<td>&#36820;&#22238;&#35821;&#27861;&#26631;&#24535;<br />
<span class="t-mark">(&#20844;&#24320;&#25104;&#21592;&#20989;&#25968;)</span></td>
</tr>
<tr>
<td colspan="2">
<h5><span class="mw-headline" id=".E6.9C.AC.E5.9C.B0.E7.8E.AF.E5.A2.83">&#26412;&#22320;&#29615;&#22659;</span></h5>
</td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-regex-basic_regex-getloc.html"><span class="t-lines"><span>getloc</span></span></a></div>
</div>
</td>
<td>&#33719;&#21462;&#26412;&#22320;&#29615;&#22659;&#20449;&#24687;<br />
<span class="t-mark">(&#20844;&#24320;&#25104;&#21592;&#20989;&#25968;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-regex-basic_regex-imbue.html"><span class="t-lines"><span>imbue</span></span></a></div>
</div>
</td>
<td>&#35774;&#32622;&#26412;&#22320;&#29615;&#22659;&#20449;&#24687;<br />
<span class="t-mark">(&#20844;&#24320;&#25104;&#21592;&#20989;&#25968;)</span></td>
</tr>
<tr>
<td colspan="2">
<h5><span class="mw-headline" id=".E4.BF.AE.E6.94.B9.E5.99.A8">&#20462;&#25913;&#22120;</span></h5>
</td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-regex-basic_regex-swap.html"><span class="t-lines"><span>swap</span></span></a></div>
</div>
</td>
<td>&#20132;&#25442;&#20869;&#23481;<br />
<span class="t-mark">(&#20844;&#24320;&#25104;&#21592;&#20989;&#25968;)</span></td>
</tr>
<tr>
<td colspan="2">
<h3><span class="mw-headline" id=".E5.B8.B8.E9.87.8F">&#24120;&#37327;</span></h3>
</td>
</tr>
</table>
<table class="t-dsc-begin">
<tr class="t-dsc-hitem">
<td>&#20540;</td>
<td>&#25928;&#26524;</td>
</tr>
<tr class="t-dsc">
<td><code>icase</code></td>
<td>&#24212;&#24403;&#20197;&#19981;&#32771;&#34385;&#22823;&#23567;&#20889;&#36827;&#34892;&#23383;&#31526;&#21305;&#37197;&#12290;</td>
</tr>
<tr class="t-dsc">
<td><code>nosubs</code></td>
<td>&#36827;&#34892;&#21305;&#37197;&#26102;&#65292;&#23558;&#25152;&#26377;&#34987;&#26631;&#35760;&#30340;&#23376;&#34920;&#36798;&#24335; <code><b>(<span class="t-spar">expr</span>)</b></code> &#24403;&#20570;&#38750;&#26631;&#35760;&#30340;&#23376;&#34920;&#36798;&#24335; <code><b>(?:<span class="t-spar">expr</span>)</b></code> &#12290;&#19981;&#23558;&#21305;&#37197;&#23384;&#20648;&#20110;&#25552;&#20379;&#30340; <span class="t-lc"><a href="cpp-regex-regex_match.html">std::regex_match</a></span> &#32467;&#26500;&#20013;&#65292;&#19988; <code>mark_count()</code> &#20026;&#38646;</td>
</tr>
<tr class="t-dsc">
<td><code>optimize</code></td>
<td>&#25351;&#31034;&#27491;&#21017;&#34920;&#36798;&#24335;&#24341;&#25806;&#36827;&#34892;&#26356;&#24555;&#30340;&#21305;&#37197;&#65292;&#24102;&#26377;&#20196;&#26500;&#36896;&#21464;&#24930;&#30340;&#28508;&#22312;&#24320;&#38144;&#12290;&#20363;&#22914;&#36825;&#21487;&#33021;&#34920;&#31034;&#23558;&#38750;&#30830;&#23450; FSA &#36716;&#25442;&#20026;&#30830;&#23450; FSA &#12290;</td>
</tr>
<tr class="t-dsc">
<td><code>collate</code></td>
<td>&#24418;&#22914; <i>&quot;[a-b]&quot;</i> &#30340;&#23383;&#31526;&#33539;&#22260;&#23558;&#23545;&#26412;&#22320;&#29615;&#22659;&#25935;&#24863;&#12290;</td>
</tr>
<tr class="t-dsc">
<td><code>multiline</code> <span class="t-mark-rev t-since-cxx17">(C++17)</span></td>
<td>&#33509;&#36873;&#25321; ECMAScript &#24341;&#25806;&#65292;&#21017;&#25351;&#23450; <code>^</code> &#24212;&#35813;&#21305;&#37197;&#34892;&#39318;&#65292;&#32780; <code>$</code> &#24212;&#35813;&#21305;&#37197;&#34892;&#23614;&#12290;</td>
</tr>
<tr class="t-dsc">
<td><code>ECMAScript</code></td>
<td>&#20351;&#29992;<a href="cpp-regex-ecmascript.html">&#25913; ECMAScript &#27491;&#21017;&#34920;&#36798;&#24335;&#25991;&#27861;</a></td>
</tr>
<tr class="t-dsc">
<td><code>basic</code></td>
<td>&#20351;&#29992;&#22522;&#26412; POSIX &#27491;&#21017;&#34920;&#36798;&#24335;&#25991;&#27861;&#65288;<a rel="nofollow" class="external text" href="http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_03">&#25991;&#27861;&#25991;&#26723;</a>&#65289;&#12290;</td>
</tr>
<tr class="t-dsc">
<td><code>extended</code></td>
<td>&#20351;&#29992;&#25193;&#23637; POSIX &#27491;&#21017;&#34920;&#36798;&#24335;&#25991;&#27861;&#65288;<a rel="nofollow" class="external text" href="http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04">&#25991;&#27861;&#25991;&#26723;</a>&#65289;&#12290;</td>
</tr>
<tr class="t-dsc">
<td><code>awk</code></td>
<td>&#20351;&#29992; POSIX &#20013; <i>awk</i> &#24037;&#20855;&#25152;&#29992;&#30340;&#27491;&#21017;&#34920;&#36798;&#24335;&#25991;&#27861;&#65288;<a rel="nofollow" class="external text" href="http://pubs.opengroup.org/onlinepubs/9699919799/utilities/awk.html#tag_20_06_13_04">&#25991;&#27861;&#25991;&#26723;</a>&#65289;&#12290;</td>
</tr>
<tr class="t-dsc">
<td><code>grep</code></td>
<td>&#20351;&#29992; POSIX &#20013; <i>grep</i> &#24037;&#20855;&#25152;&#29992;&#30340;&#27491;&#21017;&#34920;&#36798;&#24335;&#25991;&#27861;&#12290;&#36825;&#31561;&#25928;&#20110; <code>basic</code> &#36873;&#39033;&#38468;&#24102;&#20316;&#20026;&#21478;&#19968;&#31181;&#20998;&#38548;&#31526;&#30340;&#25442;&#34892;&#31526; &#39;\n&#39; &#12290;</td>
</tr>
<tr class="t-dsc">
<td><code>egrep</code></td>
<td>&#20351;&#29992; POSIX &#20013; <i>grep</i> &#24037;&#20855;&#24102; <i>-E</i> &#36873;&#39033;&#25152;&#29992;&#30340;&#27491;&#21017;&#34920;&#36798;&#24335;&#25991;&#27861;&#12290;&#36825;&#31561;&#25928;&#20110; <code>extended</code> &#38468;&#24102; &#39;|&#39; &#20043;&#22806;&#30340;&#20316;&#20026;&#21478;&#19968;&#31181;&#20998;&#38548;&#31526;&#30340;&#25442;&#34892;&#31526; &#39;\n&#39; &#12290;</td>
</tr>
</table>
<p><code>ECMAScript</code>, <code>basic</code>, <code>extended</code>, <code>awk</code>, <code>grep</code>, <code>egrep</code> &#24517;&#39035;&#36873;&#21462;&#33267;&#22810;&#19968;&#20010;&#25991;&#27861;&#36873;&#39033;&#12290;&#33509;&#19981;&#36873;&#21462;&#25991;&#27861;&#36873;&#39033;&#65292;&#21017;&#35774;&#23450;&#20026;&#36873;&#21462; <code>ECMAScript</code> &#12290;&#20854;&#20182;&#36873;&#39033;&#20316;&#20026;&#20462;&#39280;&#31526;&#24037;&#20316;&#65292;&#20174;&#32780; <span class="t-c"><span class="mw-geshi cpp source-cpp">std<span class="sy4">::</span><span class="me2">regex</span><span class="br0">(</span><span class="st0">&quot;meow&quot;</span>, std<span class="sy4">::</span><span class="me2">regex</span><span class="sy4">::</span><span class="me2">icase</span><span class="br0">)</span></span></span> &#31561;&#20215;&#20110; <span class="t-c"><span class="mw-geshi cpp source-cpp">std<span class="sy4">::</span><span class="me2">regex</span><span class="br0">(</span><span class="st0">&quot;meow&quot;</span>, std<span class="sy4">::</span><span class="me2">regex</span><span class="sy4">::</span><span class="me2">ECMAScript</span><span class="sy3">|</span>std<span class="sy4">::</span><span class="me2">regex</span><span class="sy4">::</span><span class="me2">icase</span><span class="br0">)</span></span></span></p>
<p><code>basic_regex</code> &#20013;&#30340;&#25104;&#21592;&#24120;&#37327;&#26159;&#23450;&#20041;&#20110;&#21629;&#21517;&#31354;&#38388; <code>std::regex_constants</code> &#30340; <a href="cpp-regex-syntax_option_type.html">syntax_option_type</a> &#24120;&#37327;&#30340;&#21103;&#26412;&#12290;</p>
<h3><span class="mw-headline" id=".E9.9D.9E.E6.88.90.E5.91.98.E5.87.BD.E6.95.B0">&#38750;&#25104;&#21592;&#20989;&#25968;</span></h3>
<table class="t-dsc-begin">
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-regex-basic_regex-swap2.html"><span class="t-lines"><span>std::swap<span class="t-dsc-small">(std::basic_regex)</span></span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td>&#29305;&#21270; <span class="t-lc"><a href="cpp-algorithm-swap.html">std::swap</a></span> &#31639;&#27861;<br />
<span class="t-mark">(&#20989;&#25968;&#27169;&#26495;)</span></td>
</tr>
</table>
<h3><span class="mw-headline" id=".E6.8E.A8.E5.AF.BC.E6.8C.87.E5.BC.95.28C.2B.2B17_.E8.B5.B7.29"><a href="cpp-regex-basic_regex-deduction_guides.html">&#25512;&#23548;&#25351;&#24341;</a><span class="t-mark-rev t-since-cxx17">(C++17 &#36215;)</span></span></h3>
</div>
<div class="visualClear"></div>
</div>
</div>
</div>
</body>
</html>