doc: Update react.md cheatsheet. a723b97df5

This commit is contained in:
jaywcjlove
2022-10-05 06:47:35 +00:00
parent 0199aac757
commit ce6a2200e3
24 changed files with 4436 additions and 4405 deletions

View File

@ -1269,7 +1269,7 @@
<table><thead><tr><th align="left">范例</th><th>说明</th></tr></thead><tbody><tr><td align="left"><code>(?= )</code></td><td>向前看,如果你能提前找到</td></tr><tr><td align="left"><code>(?! )</code></td><td>向前看,如果你找不到前面</td></tr><tr><td align="left"><code>(?&#x3C;= )</code></td><td>向后看,如果你能找到后面</td></tr><tr><td align="left"><code>(?&#x3C;! )</code></td><td>向后看,如果你找不到后面</td></tr><tr><td align="left"><code>\b\w+?(?=ing\b)</code></td><td>匹配 <yel>warbl</yel>ing, <yel>str</yel>ing, <yel>fish</yel>ing, ...</td></tr><tr><td align="left"><code>\b(?!\w+ing\b)\w+\b</code></td><td>不以“ing”结尾的单词</td></tr><tr><td align="left"><code>(?&#x3C;=\bpre).*?\b </code></td><td>匹配 pre<yel>tend</yel>、pre<yel>sent</yel>、pre<yel>fix</yel>、...</td></tr><tr><td align="left"><code>\b\w{3}(?&#x3C;!pre)\w*?\b</code></td><td>不以“pre”开头的词</td></tr><tr><td align="left"><code>\b\w+(?&#x3C;!ing)\b</code></td><td>匹配不以“ing”结尾的单词</td></tr></tbody></table>
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="if-then-else"><a aria-hidden="true" tabindex="-1" href="#if-then-else"><span class="icon icon-link"></span></a>If-then-else</h3><div class="wrap-body">
<p>匹配 <code>Mr.</code><code>Ms.</code> 如果单词 <code>her</code> 稍后在字符串中</p>
<pre><code class="code-highlight"><span class="code-line line-number" line="1">M(?(?=.*?\bher\b)s|r)\.
<pre><code class="code-highlight"><span class="code-line">M(?(?=.*?\bher\b)s|r)\.
</span></code></pre>
<p>需要环顾 <code>IF</code> 条件</p>
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="基础实例"><a aria-hidden="true" tabindex="-1" href="#基础实例"><span class="icon icon-link"></span></a>基础实例</h2><div class="wrap-body">
@ -1742,47 +1742,47 @@
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="python-中的正则表达式"><a aria-hidden="true" tabindex="-1" href="#python-中的正则表达式"><span class="icon icon-link"></span></a>Python 中的正则表达式</h2><div class="wrap-body">
</div></div><div class="h2wrap-body"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="入门-1"><a aria-hidden="true" tabindex="-1" href="#入门-1"><span class="icon icon-link"></span></a>入门</h3><div class="wrap-body">
<p>导入正则表达式模块</p>
<pre class="language-python"><code class="language-python code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">import</span> re
<pre class="language-python"><code class="language-python code-highlight"><span class="code-line"><span class="token keyword">import</span> re
</span></code></pre>
</div></div></div><div class="wrap col-span-2 row-span-3"><div class="wrap-header h3wrap"><h3 id="实例"><a aria-hidden="true" tabindex="-1" href="#实例"><span class="icon icon-link"></span></a>实例</h3><div class="wrap-body">
<!--rehype:wrap-class=col-span-2 row-span-3-->
</div></div><div class="h3wrap-body"><div class="wrap"><div class="wrap-header h4wrap"><h4 id="research"><a aria-hidden="true" tabindex="-1" href="#research"><span class="icon icon-link"></span></a>re.search()</h4><div class="wrap-body">
<pre class="language-python"><code class="language-python code-highlight"><span class="code-line line-number" line="1"><span class="token operator">>></span><span class="token operator">></span> sentence <span class="token operator">=</span> <span class="token string">'This is a sample string'</span>
</span><span class="code-line line-number" line="2"><span class="token operator">>></span><span class="token operator">></span> <span class="token builtin">bool</span><span class="token punctuation">(</span>re<span class="token punctuation">.</span>search<span class="token punctuation">(</span><span class="token string">r'this'</span><span class="token punctuation">,</span> sentence<span class="token punctuation">,</span> flags<span class="token operator">=</span>re<span class="token punctuation">.</span>I<span class="token punctuation">)</span><span class="token punctuation">)</span>
</span><span class="code-line line-number" line="3"><span class="token boolean">True</span>
</span><span class="code-line line-number" line="4"><span class="token operator">>></span><span class="token operator">></span> <span class="token builtin">bool</span><span class="token punctuation">(</span>re<span class="token punctuation">.</span>search<span class="token punctuation">(</span><span class="token string">r'xyz'</span><span class="token punctuation">,</span> sentence<span class="token punctuation">)</span><span class="token punctuation">)</span>
</span><span class="code-line line-number" line="5"><span class="token boolean">False</span>
<pre class="language-python"><code class="language-python code-highlight"><span class="code-line"><span class="token operator">>></span><span class="token operator">></span> sentence <span class="token operator">=</span> <span class="token string">'This is a sample string'</span>
</span><span class="code-line"><span class="token operator">>></span><span class="token operator">></span> <span class="token builtin">bool</span><span class="token punctuation">(</span>re<span class="token punctuation">.</span>search<span class="token punctuation">(</span><span class="token string">r'this'</span><span class="token punctuation">,</span> sentence<span class="token punctuation">,</span> flags<span class="token operator">=</span>re<span class="token punctuation">.</span>I<span class="token punctuation">)</span><span class="token punctuation">)</span>
</span><span class="code-line"><span class="token boolean">True</span>
</span><span class="code-line"><span class="token operator">>></span><span class="token operator">></span> <span class="token builtin">bool</span><span class="token punctuation">(</span>re<span class="token punctuation">.</span>search<span class="token punctuation">(</span><span class="token string">r'xyz'</span><span class="token punctuation">,</span> sentence<span class="token punctuation">)</span><span class="token punctuation">)</span>
</span><span class="code-line"><span class="token boolean">False</span>
</span></code></pre>
</div></div></div><div class="wrap"><div class="wrap-header h4wrap"><h4 id="refindall"><a aria-hidden="true" tabindex="-1" href="#refindall"><span class="icon icon-link"></span></a>re.findall()</h4><div class="wrap-body">
<pre class="language-python"><code class="language-python code-highlight"><span class="code-line line-number" line="1"><span class="token operator">>></span><span class="token operator">></span> re<span class="token punctuation">.</span>findall<span class="token punctuation">(</span><span class="token string">r'\bs?pare?\b'</span><span class="token punctuation">,</span> <span class="token string">'par spar apparent spare part pare'</span><span class="token punctuation">)</span>
</span><span class="code-line line-number" line="2"><span class="token punctuation">[</span><span class="token string">'par'</span><span class="token punctuation">,</span> <span class="token string">'spar'</span><span class="token punctuation">,</span> <span class="token string">'spare'</span><span class="token punctuation">,</span> <span class="token string">'pare'</span><span class="token punctuation">]</span>
</span><span class="code-line line-number" line="3"><span class="token operator">>></span><span class="token operator">></span> re<span class="token punctuation">.</span>findall<span class="token punctuation">(</span><span class="token string">r'\b0*[1-9]\d{2,}\b'</span><span class="token punctuation">,</span> <span class="token string">'0501 035 154 12 26 98234'</span><span class="token punctuation">)</span>
</span><span class="code-line line-number" line="4"><span class="token punctuation">[</span><span class="token string">'0501'</span><span class="token punctuation">,</span> <span class="token string">'154'</span><span class="token punctuation">,</span> <span class="token string">'98234'</span><span class="token punctuation">]</span>
<pre class="language-python"><code class="language-python code-highlight"><span class="code-line"><span class="token operator">>></span><span class="token operator">></span> re<span class="token punctuation">.</span>findall<span class="token punctuation">(</span><span class="token string">r'\bs?pare?\b'</span><span class="token punctuation">,</span> <span class="token string">'par spar apparent spare part pare'</span><span class="token punctuation">)</span>
</span><span class="code-line"><span class="token punctuation">[</span><span class="token string">'par'</span><span class="token punctuation">,</span> <span class="token string">'spar'</span><span class="token punctuation">,</span> <span class="token string">'spare'</span><span class="token punctuation">,</span> <span class="token string">'pare'</span><span class="token punctuation">]</span>
</span><span class="code-line"><span class="token operator">>></span><span class="token operator">></span> re<span class="token punctuation">.</span>findall<span class="token punctuation">(</span><span class="token string">r'\b0*[1-9]\d{2,}\b'</span><span class="token punctuation">,</span> <span class="token string">'0501 035 154 12 26 98234'</span><span class="token punctuation">)</span>
</span><span class="code-line"><span class="token punctuation">[</span><span class="token string">'0501'</span><span class="token punctuation">,</span> <span class="token string">'154'</span><span class="token punctuation">,</span> <span class="token string">'98234'</span><span class="token punctuation">]</span>
</span></code></pre>
</div></div></div><div class="wrap"><div class="wrap-header h4wrap"><h4 id="refinditer"><a aria-hidden="true" tabindex="-1" href="#refinditer"><span class="icon icon-link"></span></a>re.finditer()</h4><div class="wrap-body">
<pre class="language-python"><code class="language-python code-highlight"><span class="code-line line-number" line="1"><span class="token operator">>></span><span class="token operator">></span> m_iter <span class="token operator">=</span> re<span class="token punctuation">.</span>finditer<span class="token punctuation">(</span><span class="token string">r'[0-9]+'</span><span class="token punctuation">,</span> <span class="token string">'45 349 651 593 4 204'</span><span class="token punctuation">)</span>
</span><span class="code-line line-number" line="2"><span class="token operator">>></span><span class="token operator">></span> <span class="token punctuation">[</span>m<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span> <span class="token keyword">for</span> m <span class="token keyword">in</span> m_iter <span class="token keyword">if</span> <span class="token builtin">int</span><span class="token punctuation">(</span>m<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token operator">&#x3C;</span> <span class="token number">350</span><span class="token punctuation">]</span>
</span><span class="code-line line-number" line="3"><span class="token punctuation">[</span><span class="token string">'45'</span><span class="token punctuation">,</span> <span class="token string">'349'</span><span class="token punctuation">,</span> <span class="token string">'4'</span><span class="token punctuation">,</span> <span class="token string">'204'</span><span class="token punctuation">]</span>
<pre class="language-python"><code class="language-python code-highlight"><span class="code-line"><span class="token operator">>></span><span class="token operator">></span> m_iter <span class="token operator">=</span> re<span class="token punctuation">.</span>finditer<span class="token punctuation">(</span><span class="token string">r'[0-9]+'</span><span class="token punctuation">,</span> <span class="token string">'45 349 651 593 4 204'</span><span class="token punctuation">)</span>
</span><span class="code-line"><span class="token operator">>></span><span class="token operator">></span> <span class="token punctuation">[</span>m<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span> <span class="token keyword">for</span> m <span class="token keyword">in</span> m_iter <span class="token keyword">if</span> <span class="token builtin">int</span><span class="token punctuation">(</span>m<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token operator">&#x3C;</span> <span class="token number">350</span><span class="token punctuation">]</span>
</span><span class="code-line"><span class="token punctuation">[</span><span class="token string">'45'</span><span class="token punctuation">,</span> <span class="token string">'349'</span><span class="token punctuation">,</span> <span class="token string">'4'</span><span class="token punctuation">,</span> <span class="token string">'204'</span><span class="token punctuation">]</span>
</span></code></pre>
</div></div></div><div class="wrap"><div class="wrap-header h4wrap"><h4 id="resplit"><a aria-hidden="true" tabindex="-1" href="#resplit"><span class="icon icon-link"></span></a>re.split()</h4><div class="wrap-body">
<pre class="language-python"><code class="language-python code-highlight"><span class="code-line line-number" line="1"><span class="token operator">>></span><span class="token operator">></span> re<span class="token punctuation">.</span>split<span class="token punctuation">(</span><span class="token string">r'\d+'</span><span class="token punctuation">,</span> <span class="token string">'Sample123string42with777numbers'</span><span class="token punctuation">)</span>
</span><span class="code-line line-number" line="2"><span class="token punctuation">[</span><span class="token string">'Sample'</span><span class="token punctuation">,</span> <span class="token string">'string'</span><span class="token punctuation">,</span> <span class="token string">'with'</span><span class="token punctuation">,</span> <span class="token string">'numbers'</span><span class="token punctuation">]</span>
<pre class="language-python"><code class="language-python code-highlight"><span class="code-line"><span class="token operator">>></span><span class="token operator">></span> re<span class="token punctuation">.</span>split<span class="token punctuation">(</span><span class="token string">r'\d+'</span><span class="token punctuation">,</span> <span class="token string">'Sample123string42with777numbers'</span><span class="token punctuation">)</span>
</span><span class="code-line"><span class="token punctuation">[</span><span class="token string">'Sample'</span><span class="token punctuation">,</span> <span class="token string">'string'</span><span class="token punctuation">,</span> <span class="token string">'with'</span><span class="token punctuation">,</span> <span class="token string">'numbers'</span><span class="token punctuation">]</span>
</span></code></pre>
</div></div></div><div class="wrap"><div class="wrap-header h4wrap"><h4 id="resub"><a aria-hidden="true" tabindex="-1" href="#resub"><span class="icon icon-link"></span></a>re.sub()</h4><div class="wrap-body">
<pre class="language-python"><code class="language-python code-highlight"><span class="code-line line-number" line="1"><span class="token operator">>></span><span class="token operator">></span> ip_lines <span class="token operator">=</span> <span class="token string">"catapults\nconcatenate\ncat"</span>
</span><span class="code-line line-number" line="2"><span class="token operator">>></span><span class="token operator">></span> <span class="token keyword">print</span><span class="token punctuation">(</span>re<span class="token punctuation">.</span>sub<span class="token punctuation">(</span><span class="token string">r'^'</span><span class="token punctuation">,</span> <span class="token string">r'* '</span><span class="token punctuation">,</span> ip_lines<span class="token punctuation">,</span> flags<span class="token operator">=</span>re<span class="token punctuation">.</span>M<span class="token punctuation">)</span><span class="token punctuation">)</span>
</span><span class="code-line line-number" line="3"><span class="token operator">*</span> catapults
</span><span class="code-line line-number" line="4"><span class="token operator">*</span> concatenate
</span><span class="code-line line-number" line="5"><span class="token operator">*</span> cat
<pre class="language-python"><code class="language-python code-highlight"><span class="code-line"><span class="token operator">>></span><span class="token operator">></span> ip_lines <span class="token operator">=</span> <span class="token string">"catapults\nconcatenate\ncat"</span>
</span><span class="code-line"><span class="token operator">>></span><span class="token operator">></span> <span class="token keyword">print</span><span class="token punctuation">(</span>re<span class="token punctuation">.</span>sub<span class="token punctuation">(</span><span class="token string">r'^'</span><span class="token punctuation">,</span> <span class="token string">r'* '</span><span class="token punctuation">,</span> ip_lines<span class="token punctuation">,</span> flags<span class="token operator">=</span>re<span class="token punctuation">.</span>M<span class="token punctuation">)</span><span class="token punctuation">)</span>
</span><span class="code-line"><span class="token operator">*</span> catapults
</span><span class="code-line"><span class="token operator">*</span> concatenate
</span><span class="code-line"><span class="token operator">*</span> cat
</span></code></pre>
</div></div></div><div class="wrap"><div class="wrap-header h4wrap"><h4 id="recompile"><a aria-hidden="true" tabindex="-1" href="#recompile"><span class="icon icon-link"></span></a>re.compile()</h4><div class="wrap-body">
<pre class="language-python"><code class="language-python code-highlight"><span class="code-line line-number" line="1"><span class="token operator">>></span><span class="token operator">></span> pet <span class="token operator">=</span> re<span class="token punctuation">.</span><span class="token builtin">compile</span><span class="token punctuation">(</span><span class="token string">r'dog'</span><span class="token punctuation">)</span>
</span><span class="code-line line-number" line="2"><span class="token operator">>></span><span class="token operator">></span> <span class="token builtin">type</span><span class="token punctuation">(</span>pet<span class="token punctuation">)</span>
</span><span class="code-line line-number" line="3"><span class="token operator">&#x3C;</span><span class="token keyword">class</span> <span class="token string">'_sre.SRE_Pattern'</span><span class="token operator">></span>
</span><span class="code-line line-number" line="4"><span class="token operator">>></span><span class="token operator">></span> <span class="token builtin">bool</span><span class="token punctuation">(</span>pet<span class="token punctuation">.</span>search<span class="token punctuation">(</span><span class="token string">'They bought a dog'</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
</span><span class="code-line line-number" line="5"><span class="token boolean">True</span>
</span><span class="code-line line-number" line="6"><span class="token operator">>></span><span class="token operator">></span> <span class="token builtin">bool</span><span class="token punctuation">(</span>pet<span class="token punctuation">.</span>search<span class="token punctuation">(</span><span class="token string">'A cat crossed their path'</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
</span><span class="code-line line-number" line="7"><span class="token boolean">False</span>
<pre class="language-python"><code class="language-python code-highlight"><span class="code-line"><span class="token operator">>></span><span class="token operator">></span> pet <span class="token operator">=</span> re<span class="token punctuation">.</span><span class="token builtin">compile</span><span class="token punctuation">(</span><span class="token string">r'dog'</span><span class="token punctuation">)</span>
</span><span class="code-line"><span class="token operator">>></span><span class="token operator">></span> <span class="token builtin">type</span><span class="token punctuation">(</span>pet<span class="token punctuation">)</span>
</span><span class="code-line"><span class="token operator">&#x3C;</span><span class="token keyword">class</span> <span class="token string">'_sre.SRE_Pattern'</span><span class="token operator">></span>
</span><span class="code-line"><span class="token operator">>></span><span class="token operator">></span> <span class="token builtin">bool</span><span class="token punctuation">(</span>pet<span class="token punctuation">.</span>search<span class="token punctuation">(</span><span class="token string">'They bought a dog'</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
</span><span class="code-line"><span class="token boolean">True</span>
</span><span class="code-line"><span class="token operator">>></span><span class="token operator">></span> <span class="token builtin">bool</span><span class="token punctuation">(</span>pet<span class="token punctuation">.</span>search<span class="token punctuation">(</span><span class="token string">'A cat crossed their path'</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
</span><span class="code-line"><span class="token boolean">False</span>
</span></code></pre>
</div></div></div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="函数"><a aria-hidden="true" tabindex="-1" href="#函数"><span class="icon icon-link"></span></a>函数</h3><div class="wrap-body">
@ -1867,75 +1867,75 @@
<table><thead><tr><th align="left">:-</th><th>-</th><th>-</th></tr></thead><tbody><tr><td align="left"><code>re.I</code></td><td><code>re.IGNORECASE</code></td><td>忽略大小写</td></tr><tr><td align="left"><code>re.M</code></td><td><code>re.MULTILINE</code></td><td>多行</td></tr><tr><td align="left"><code>re.L</code></td><td><code>re.LOCALE</code></td><td>使 <code>\w</code><code>\b</code><code>\s</code> <em>locale 依赖</em></td></tr><tr><td align="left"><code>re.S</code></td><td><code>re.DOTALL</code></td><td>点匹配所有 <em>(包括换行符)</em></td></tr><tr><td align="left"><code>re.U</code></td><td><code>re.UNICODE</code></td><td>使 <code>\w</code><code>\b</code><code>\d</code><code>\s</code> <em>unicode 依赖</em></td></tr><tr><td align="left"><code>re.X</code></td><td><code>re.VERBOSE</code></td><td>可读风格</td></tr></tbody></table>
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="javascript-中的正则表达式"><a aria-hidden="true" tabindex="-1" href="#javascript-中的正则表达式"><span class="icon icon-link"></span></a>JavaScript 中的正则表达式</h2><div class="wrap-body">
</div></div><div class="h2wrap-body"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="test"><a aria-hidden="true" tabindex="-1" href="#test"><span class="icon icon-link"></span></a>test()</h3><div class="wrap-body">
<pre class="language-javascript"><code class="language-javascript code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">let</span> textA <span class="token operator">=</span> <span class="token string">'I like APPles very much'</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="2"><span class="token keyword">let</span> textB <span class="token operator">=</span> <span class="token string">'I like APPles'</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="3"><span class="token keyword">let</span> regex <span class="token operator">=</span> <span class="token regex"><span class="token regex-delimiter">/</span><span class="token regex-source language-regex">apples<span class="token anchor function">$</span></span><span class="token regex-delimiter">/</span><span class="token regex-flags">i</span></span>
</span><span class="code-line line-number" line="4">
</span><span class="code-line line-number" line="5"><span class="token comment">// Output: false</span>
</span><span class="code-line line-number" line="6"><span class="token console class-name">console</span><span class="token punctuation">.</span><span class="token method function property-access">log</span><span class="token punctuation">(</span>regex<span class="token punctuation">.</span><span class="token method function property-access">test</span><span class="token punctuation">(</span>textA<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="7">
</span><span class="code-line line-number" line="8"><span class="token comment">// Output: true</span>
</span><span class="code-line line-number" line="9"><span class="token console class-name">console</span><span class="token punctuation">.</span><span class="token method function property-access">log</span><span class="token punctuation">(</span>regex<span class="token punctuation">.</span><span class="token method function property-access">test</span><span class="token punctuation">(</span>textB<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<pre class="language-javascript"><code class="language-javascript code-highlight"><span class="code-line"><span class="token keyword">let</span> textA <span class="token operator">=</span> <span class="token string">'I like APPles very much'</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token keyword">let</span> textB <span class="token operator">=</span> <span class="token string">'I like APPles'</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token keyword">let</span> regex <span class="token operator">=</span> <span class="token regex"><span class="token regex-delimiter">/</span><span class="token regex-source language-regex">apples<span class="token anchor function">$</span></span><span class="token regex-delimiter">/</span><span class="token regex-flags">i</span></span>
</span><span class="code-line">
</span><span class="code-line"><span class="token comment">// Output: false</span>
</span><span class="code-line"><span class="token console class-name">console</span><span class="token punctuation">.</span><span class="token method function property-access">log</span><span class="token punctuation">(</span>regex<span class="token punctuation">.</span><span class="token method function property-access">test</span><span class="token punctuation">(</span>textA<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line">
</span><span class="code-line"><span class="token comment">// Output: true</span>
</span><span class="code-line"><span class="token console class-name">console</span><span class="token punctuation">.</span><span class="token method function property-access">log</span><span class="token punctuation">(</span>regex<span class="token punctuation">.</span><span class="token method function property-access">test</span><span class="token punctuation">(</span>textB<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span></code></pre>
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="search"><a aria-hidden="true" tabindex="-1" href="#search"><span class="icon icon-link"></span></a>search()</h3><div class="wrap-body">
<pre class="language-javascript"><code class="language-javascript code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">let</span> text <span class="token operator">=</span> <span class="token string">'I like APPles very much'</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="2"><span class="token keyword">let</span> regexA <span class="token operator">=</span> <span class="token regex"><span class="token regex-delimiter">/</span><span class="token regex-source language-regex">apples</span><span class="token regex-delimiter">/</span></span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="3"><span class="token keyword">let</span> regexB <span class="token operator">=</span> <span class="token regex"><span class="token regex-delimiter">/</span><span class="token regex-source language-regex">apples</span><span class="token regex-delimiter">/</span><span class="token regex-flags">i</span></span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="4">
</span><span class="code-line line-number" line="5"><span class="token comment">// Output: -1</span>
</span><span class="code-line line-number" line="6"><span class="token console class-name">console</span><span class="token punctuation">.</span><span class="token method function property-access">log</span><span class="token punctuation">(</span>text<span class="token punctuation">.</span><span class="token method function property-access">search</span><span class="token punctuation">(</span>regexA<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="7">
</span><span class="code-line line-number" line="8"><span class="token comment">// Output: 7</span>
</span><span class="code-line line-number" line="9"><span class="token console class-name">console</span><span class="token punctuation">.</span><span class="token method function property-access">log</span><span class="token punctuation">(</span>text<span class="token punctuation">.</span><span class="token method function property-access">search</span><span class="token punctuation">(</span>regexB<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<pre class="language-javascript"><code class="language-javascript code-highlight"><span class="code-line"><span class="token keyword">let</span> text <span class="token operator">=</span> <span class="token string">'I like APPles very much'</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token keyword">let</span> regexA <span class="token operator">=</span> <span class="token regex"><span class="token regex-delimiter">/</span><span class="token regex-source language-regex">apples</span><span class="token regex-delimiter">/</span></span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token keyword">let</span> regexB <span class="token operator">=</span> <span class="token regex"><span class="token regex-delimiter">/</span><span class="token regex-source language-regex">apples</span><span class="token regex-delimiter">/</span><span class="token regex-flags">i</span></span><span class="token punctuation">;</span>
</span><span class="code-line">
</span><span class="code-line"><span class="token comment">// Output: -1</span>
</span><span class="code-line"><span class="token console class-name">console</span><span class="token punctuation">.</span><span class="token method function property-access">log</span><span class="token punctuation">(</span>text<span class="token punctuation">.</span><span class="token method function property-access">search</span><span class="token punctuation">(</span>regexA<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line">
</span><span class="code-line"><span class="token comment">// Output: 7</span>
</span><span class="code-line"><span class="token console class-name">console</span><span class="token punctuation">.</span><span class="token method function property-access">log</span><span class="token punctuation">(</span>text<span class="token punctuation">.</span><span class="token method function property-access">search</span><span class="token punctuation">(</span>regexB<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span></code></pre>
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="exec"><a aria-hidden="true" tabindex="-1" href="#exec"><span class="icon icon-link"></span></a>exec()</h3><div class="wrap-body">
<pre class="language-javascript"><code class="language-javascript code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">let</span> text <span class="token operator">=</span> <span class="token string">'Do you like apples?'</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="2"><span class="token keyword">let</span> regex<span class="token operator">=</span> <span class="token regex"><span class="token regex-delimiter">/</span><span class="token regex-source language-regex">apples</span><span class="token regex-delimiter">/</span></span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="3">
</span><span class="code-line line-number" line="4"><span class="token comment">// Output: apples</span>
</span><span class="code-line line-number" line="5"><span class="token console class-name">console</span><span class="token punctuation">.</span><span class="token method function property-access">log</span><span class="token punctuation">(</span>regex<span class="token punctuation">.</span><span class="token method function property-access">exec</span><span class="token punctuation">(</span>text<span class="token punctuation">)</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="6">
</span><span class="code-line line-number" line="7"><span class="token comment">// Output: Do you like apples?</span>
</span><span class="code-line line-number" line="8"><span class="token console class-name">console</span><span class="token punctuation">.</span><span class="token method function property-access">log</span><span class="token punctuation">(</span>regex<span class="token punctuation">.</span><span class="token method function property-access">exec</span><span class="token punctuation">(</span>text<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token property-access">input</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<pre class="language-javascript"><code class="language-javascript code-highlight"><span class="code-line"><span class="token keyword">let</span> text <span class="token operator">=</span> <span class="token string">'Do you like apples?'</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token keyword">let</span> regex<span class="token operator">=</span> <span class="token regex"><span class="token regex-delimiter">/</span><span class="token regex-source language-regex">apples</span><span class="token regex-delimiter">/</span></span><span class="token punctuation">;</span>
</span><span class="code-line">
</span><span class="code-line"><span class="token comment">// Output: apples</span>
</span><span class="code-line"><span class="token console class-name">console</span><span class="token punctuation">.</span><span class="token method function property-access">log</span><span class="token punctuation">(</span>regex<span class="token punctuation">.</span><span class="token method function property-access">exec</span><span class="token punctuation">(</span>text<span class="token punctuation">)</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line">
</span><span class="code-line"><span class="token comment">// Output: Do you like apples?</span>
</span><span class="code-line"><span class="token console class-name">console</span><span class="token punctuation">.</span><span class="token method function property-access">log</span><span class="token punctuation">(</span>regex<span class="token punctuation">.</span><span class="token method function property-access">exec</span><span class="token punctuation">(</span>text<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token property-access">input</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span></code></pre>
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="match"><a aria-hidden="true" tabindex="-1" href="#match"><span class="icon icon-link"></span></a>match()</h3><div class="wrap-body">
<pre class="language-javascript"><code class="language-javascript code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">let</span> text <span class="token operator">=</span> <span class="token string">'Here are apples and apPleS'</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="2"><span class="token keyword">let</span> regex <span class="token operator">=</span> <span class="token regex"><span class="token regex-delimiter">/</span><span class="token regex-source language-regex">apples</span><span class="token regex-delimiter">/</span><span class="token regex-flags">gi</span></span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="3">
</span><span class="code-line line-number" line="4"><span class="token comment">// Output: [ "apples", "apPleS" ]</span>
</span><span class="code-line line-number" line="5"><span class="token console class-name">console</span><span class="token punctuation">.</span><span class="token method function property-access">log</span><span class="token punctuation">(</span>text<span class="token punctuation">.</span><span class="token method function property-access">match</span><span class="token punctuation">(</span>regex<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<pre class="language-javascript"><code class="language-javascript code-highlight"><span class="code-line"><span class="token keyword">let</span> text <span class="token operator">=</span> <span class="token string">'Here are apples and apPleS'</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token keyword">let</span> regex <span class="token operator">=</span> <span class="token regex"><span class="token regex-delimiter">/</span><span class="token regex-source language-regex">apples</span><span class="token regex-delimiter">/</span><span class="token regex-flags">gi</span></span><span class="token punctuation">;</span>
</span><span class="code-line">
</span><span class="code-line"><span class="token comment">// Output: [ "apples", "apPleS" ]</span>
</span><span class="code-line"><span class="token console class-name">console</span><span class="token punctuation">.</span><span class="token method function property-access">log</span><span class="token punctuation">(</span>text<span class="token punctuation">.</span><span class="token method function property-access">match</span><span class="token punctuation">(</span>regex<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span></code></pre>
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="split"><a aria-hidden="true" tabindex="-1" href="#split"><span class="icon icon-link"></span></a>split()</h3><div class="wrap-body">
<!--rehype:wrap-class=col-span-2-->
<pre class="language-javascript"><code class="language-javascript code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">let</span> text <span class="token operator">=</span> <span class="token string">'This 593 string will be brok294en at places where d1gits are.'</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="2"><span class="token keyword">let</span> regex <span class="token operator">=</span> <span class="token regex"><span class="token regex-delimiter">/</span><span class="token regex-source language-regex"><span class="token char-set class-name">\d</span><span class="token quantifier number">+</span></span><span class="token regex-delimiter">/</span><span class="token regex-flags">g</span></span>
</span><span class="code-line line-number" line="3">
</span><span class="code-line line-number" line="4"><span class="token comment">// Output: [ "This ", " string will be brok", "en at places where d", "gits are." ] </span>
</span><span class="code-line line-number" line="5"><span class="token console class-name">console</span><span class="token punctuation">.</span><span class="token method function property-access">log</span><span class="token punctuation">(</span>text<span class="token punctuation">.</span><span class="token method function property-access">split</span><span class="token punctuation">(</span>regex<span class="token punctuation">)</span><span class="token punctuation">)</span>
<pre class="language-javascript"><code class="language-javascript code-highlight"><span class="code-line"><span class="token keyword">let</span> text <span class="token operator">=</span> <span class="token string">'This 593 string will be brok294en at places where d1gits are.'</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token keyword">let</span> regex <span class="token operator">=</span> <span class="token regex"><span class="token regex-delimiter">/</span><span class="token regex-source language-regex"><span class="token char-set class-name">\d</span><span class="token quantifier number">+</span></span><span class="token regex-delimiter">/</span><span class="token regex-flags">g</span></span>
</span><span class="code-line">
</span><span class="code-line"><span class="token comment">// Output: [ "This ", " string will be brok", "en at places where d", "gits are." ] </span>
</span><span class="code-line"><span class="token console class-name">console</span><span class="token punctuation">.</span><span class="token method function property-access">log</span><span class="token punctuation">(</span>text<span class="token punctuation">.</span><span class="token method function property-access">split</span><span class="token punctuation">(</span>regex<span class="token punctuation">)</span><span class="token punctuation">)</span>
</span></code></pre>
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="matchall"><a aria-hidden="true" tabindex="-1" href="#matchall"><span class="icon icon-link"></span></a>matchAll()</h3><div class="wrap-body">
<pre class="language-javascript"><code class="language-javascript code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">let</span> regex <span class="token operator">=</span> <span class="token regex"><span class="token regex-delimiter">/</span><span class="token regex-source language-regex">t<span class="token group punctuation">(</span>e<span class="token group punctuation">)</span><span class="token group punctuation">(</span>st<span class="token group punctuation">(</span><span class="token char-set class-name">\d</span><span class="token quantifier number">?</span><span class="token group punctuation">)</span><span class="token group punctuation">)</span></span><span class="token regex-delimiter">/</span><span class="token regex-flags">g</span></span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="2"><span class="token keyword">let</span> text <span class="token operator">=</span> <span class="token string">'test1test2'</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="3"><span class="token keyword">let</span> array <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token spread operator">...</span>text<span class="token punctuation">.</span><span class="token method function property-access">matchAll</span><span class="token punctuation">(</span>regex<span class="token punctuation">)</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="4"><span class="token comment">// Output: ["test1", "e", "st1", "1"]</span>
</span><span class="code-line line-number" line="5"><span class="token console class-name">console</span><span class="token punctuation">.</span><span class="token method function property-access">log</span><span class="token punctuation">(</span>array<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="6"><span class="token comment">// Output: ["test2", "e", "st2", "2"]</span>
</span><span class="code-line line-number" line="7"><span class="token console class-name">console</span><span class="token punctuation">.</span><span class="token method function property-access">log</span><span class="token punctuation">(</span>array<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<pre class="language-javascript"><code class="language-javascript code-highlight"><span class="code-line"><span class="token keyword">let</span> regex <span class="token operator">=</span> <span class="token regex"><span class="token regex-delimiter">/</span><span class="token regex-source language-regex">t<span class="token group punctuation">(</span>e<span class="token group punctuation">)</span><span class="token group punctuation">(</span>st<span class="token group punctuation">(</span><span class="token char-set class-name">\d</span><span class="token quantifier number">?</span><span class="token group punctuation">)</span><span class="token group punctuation">)</span></span><span class="token regex-delimiter">/</span><span class="token regex-flags">g</span></span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token keyword">let</span> text <span class="token operator">=</span> <span class="token string">'test1test2'</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token keyword">let</span> array <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token spread operator">...</span>text<span class="token punctuation">.</span><span class="token method function property-access">matchAll</span><span class="token punctuation">(</span>regex<span class="token punctuation">)</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token comment">// Output: ["test1", "e", "st1", "1"]</span>
</span><span class="code-line"><span class="token console class-name">console</span><span class="token punctuation">.</span><span class="token method function property-access">log</span><span class="token punctuation">(</span>array<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token comment">// Output: ["test2", "e", "st2", "2"]</span>
</span><span class="code-line"><span class="token console class-name">console</span><span class="token punctuation">.</span><span class="token method function property-access">log</span><span class="token punctuation">(</span>array<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span></code></pre>
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="replace"><a aria-hidden="true" tabindex="-1" href="#replace"><span class="icon icon-link"></span></a>replace()</h3><div class="wrap-body">
<pre class="language-javascript"><code class="language-javascript code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">let</span> text <span class="token operator">=</span> <span class="token string">'Do you like aPPles?'</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="2"><span class="token keyword">let</span> regex <span class="token operator">=</span> <span class="token regex"><span class="token regex-delimiter">/</span><span class="token regex-source language-regex">apples</span><span class="token regex-delimiter">/</span><span class="token regex-flags">i</span></span>
</span><span class="code-line line-number" line="3">
</span><span class="code-line line-number" line="4"><span class="token comment">// Output: Do you like mangoes?</span>
</span><span class="code-line line-number" line="5"><span class="token keyword">let</span> result <span class="token operator">=</span> text<span class="token punctuation">.</span><span class="token method function property-access">replace</span><span class="token punctuation">(</span>regex<span class="token punctuation">,</span> <span class="token string">'mangoes'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="6"><span class="token console class-name">console</span><span class="token punctuation">.</span><span class="token method function property-access">log</span><span class="token punctuation">(</span>result<span class="token punctuation">)</span><span class="token punctuation">;</span>
<pre class="language-javascript"><code class="language-javascript code-highlight"><span class="code-line"><span class="token keyword">let</span> text <span class="token operator">=</span> <span class="token string">'Do you like aPPles?'</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token keyword">let</span> regex <span class="token operator">=</span> <span class="token regex"><span class="token regex-delimiter">/</span><span class="token regex-source language-regex">apples</span><span class="token regex-delimiter">/</span><span class="token regex-flags">i</span></span>
</span><span class="code-line">
</span><span class="code-line"><span class="token comment">// Output: Do you like mangoes?</span>
</span><span class="code-line"><span class="token keyword">let</span> result <span class="token operator">=</span> text<span class="token punctuation">.</span><span class="token method function property-access">replace</span><span class="token punctuation">(</span>regex<span class="token punctuation">,</span> <span class="token string">'mangoes'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token console class-name">console</span><span class="token punctuation">.</span><span class="token method function property-access">log</span><span class="token punctuation">(</span>result<span class="token punctuation">)</span><span class="token punctuation">;</span>
</span></code></pre>
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="replaceall"><a aria-hidden="true" tabindex="-1" href="#replaceall"><span class="icon icon-link"></span></a>replaceAll()</h3><div class="wrap-body">
<pre class="wrap-text"><code class="language-javascript code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">let</span> regex <span class="token operator">=</span> <span class="token regex"><span class="token regex-delimiter">/</span><span class="token regex-source language-regex">apples</span><span class="token regex-delimiter">/</span><span class="token regex-flags">gi</span></span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="2"><span class="token keyword">let</span> text <span class="token operator">=</span> <span class="token string">'Here are apples and apPleS'</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="3"><span class="token comment">// Output: Here are mangoes and mangoes</span>
</span><span class="code-line line-number" line="4"><span class="token keyword">let</span> result <span class="token operator">=</span> text<span class="token punctuation">.</span><span class="token method function property-access">replaceAll</span><span class="token punctuation">(</span>regex<span class="token punctuation">,</span> <span class="token string">"mangoes"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="5"><span class="token console class-name">console</span><span class="token punctuation">.</span><span class="token method function property-access">log</span><span class="token punctuation">(</span>result<span class="token punctuation">)</span><span class="token punctuation">;</span>
<pre class="wrap-text"><code class="language-javascript code-highlight"><span class="code-line"><span class="token keyword">let</span> regex <span class="token operator">=</span> <span class="token regex"><span class="token regex-delimiter">/</span><span class="token regex-source language-regex">apples</span><span class="token regex-delimiter">/</span><span class="token regex-flags">gi</span></span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token keyword">let</span> text <span class="token operator">=</span> <span class="token string">'Here are apples and apPleS'</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token comment">// Output: Here are mangoes and mangoes</span>
</span><span class="code-line"><span class="token keyword">let</span> result <span class="token operator">=</span> text<span class="token punctuation">.</span><span class="token method function property-access">replaceAll</span><span class="token punctuation">(</span>regex<span class="token punctuation">,</span> <span class="token string">"mangoes"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token console class-name">console</span><span class="token punctuation">.</span><span class="token method function property-access">log</span><span class="token punctuation">(</span>result<span class="token punctuation">)</span><span class="token punctuation">;</span>
</span></code></pre>
<!--rehype:className=wrap-text-->
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="php中的正则表达式"><a aria-hidden="true" tabindex="-1" href="#php中的正则表达式"><span class="icon icon-link"></span></a>PHP中的正则表达式</h2><div class="wrap-body">
@ -1976,62 +1976,62 @@
<table><thead><tr><th align="left">:-</th><th>-</th></tr></thead><tbody><tr><td align="left"><code>preg_match()</code></td><td>执行正则表达式匹配</td></tr><tr><td align="left"><code>preg_match_all()</code></td><td>执行全局正则表达式匹配</td></tr><tr><td align="left"><code>preg_replace_callback()</code></td><td>使用回调执行正则表达式搜索和替换</td></tr><tr><td align="left"><code>preg_replace()</code></td><td>执行正则表达式搜索和替换</td></tr><tr><td align="left"><code>preg_split()</code></td><td>按正则表达式模式拆分字符串</td></tr><tr><td align="left"><code>preg_grep()</code></td><td>返回与模式匹配的数组条目</td></tr></tbody></table>
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="preg_replace"><a aria-hidden="true" tabindex="-1" href="#preg_replace"><span class="icon icon-link"></span></a>preg_replace</h3><div class="wrap-body">
<pre class="wrap-text"><code class="language-php code-highlight"><span class="code-line line-number" line="1"><span class="token variable">$str</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"Visit Microsoft!"</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="2"><span class="token variable">$regex</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"/microsoft/i"</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="3"><span class="token comment">// Output: Visit QuickRef!</span>
</span><span class="code-line line-number" line="4"><span class="token keyword">echo</span> <span class="token function">preg_replace</span><span class="token punctuation">(</span><span class="token variable">$regex</span><span class="token punctuation">,</span> <span class="token string double-quoted-string">"QuickRef"</span><span class="token punctuation">,</span> <span class="token variable">$str</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<pre class="wrap-text"><code class="language-php code-highlight"><span class="code-line"><span class="token variable">$str</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"Visit Microsoft!"</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token variable">$regex</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"/microsoft/i"</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token comment">// Output: Visit QuickRef!</span>
</span><span class="code-line"><span class="token keyword">echo</span> <span class="token function">preg_replace</span><span class="token punctuation">(</span><span class="token variable">$regex</span><span class="token punctuation">,</span> <span class="token string double-quoted-string">"QuickRef"</span><span class="token punctuation">,</span> <span class="token variable">$str</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span></code></pre>
<!--rehype:className=wrap-text-->
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="preg_match"><a aria-hidden="true" tabindex="-1" href="#preg_match"><span class="icon icon-link"></span></a>preg_match</h3><div class="wrap-body">
<pre class="language-php"><code class="language-php code-highlight"><span class="code-line line-number" line="1"><span class="token variable">$str</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"Visit QuickRef"</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="2"><span class="token variable">$regex</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"#quickref#i"</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="3"><span class="token comment">// Output: 1</span>
</span><span class="code-line line-number" line="4"><span class="token keyword">echo</span> <span class="token function">preg_match</span><span class="token punctuation">(</span><span class="token variable">$regex</span><span class="token punctuation">,</span> <span class="token variable">$str</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<pre class="language-php"><code class="language-php code-highlight"><span class="code-line"><span class="token variable">$str</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"Visit QuickRef"</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token variable">$regex</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"#quickref#i"</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token comment">// Output: 1</span>
</span><span class="code-line"><span class="token keyword">echo</span> <span class="token function">preg_match</span><span class="token punctuation">(</span><span class="token variable">$regex</span><span class="token punctuation">,</span> <span class="token variable">$str</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span></code></pre>
</div></div></div><div class="wrap col-span-2 row-span-2"><div class="wrap-header h3wrap"><h3 id="preg_matchall"><a aria-hidden="true" tabindex="-1" href="#preg_matchall"><span class="icon icon-link"></span></a>preg_matchall</h3><div class="wrap-body">
<!--rehype:wrap-class=col-span-2 row-span-2-->
<pre class="language-php"><code class="language-php code-highlight"><span class="code-line line-number" line="1"><span class="token variable">$regex</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"/[a-zA-Z]+ (\d+)/"</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="2"><span class="token variable">$input_str</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"June 24, August 13, and December 30"</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="3"><span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token function">preg_match_all</span><span class="token punctuation">(</span><span class="token variable">$regex</span><span class="token punctuation">,</span> <span class="token variable">$input_str</span><span class="token punctuation">,</span> <span class="token variable">$matches_out</span><span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
</span><span class="code-line line-number" line="4"> <span class="token comment">// Output: 2</span>
</span><span class="code-line line-number" line="5"> <span class="token keyword">echo</span> <span class="token function">count</span><span class="token punctuation">(</span><span class="token variable">$matches_out</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="6"> <span class="token comment">// Output: 3</span>
</span><span class="code-line line-number" line="7"> <span class="token keyword">echo</span> <span class="token function">count</span><span class="token punctuation">(</span><span class="token variable">$matches_out</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="8"> <span class="token comment">// Output: Array("June 24", "August 13", "December 30")</span>
</span><span class="code-line line-number" line="9"> <span class="token function">print_r</span><span class="token punctuation">(</span><span class="token variable">$matches_out</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="10"> <span class="token comment">// Output: Array("24", "13", "30")</span>
</span><span class="code-line line-number" line="11"> <span class="token function">print_r</span><span class="token punctuation">(</span><span class="token variable">$matches_out</span><span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="12"><span class="token punctuation">}</span>
<pre class="language-php"><code class="language-php code-highlight"><span class="code-line"><span class="token variable">$regex</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"/[a-zA-Z]+ (\d+)/"</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token variable">$input_str</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"June 24, August 13, and December 30"</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token function">preg_match_all</span><span class="token punctuation">(</span><span class="token variable">$regex</span><span class="token punctuation">,</span> <span class="token variable">$input_str</span><span class="token punctuation">,</span> <span class="token variable">$matches_out</span><span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
</span><span class="code-line"> <span class="token comment">// Output: 2</span>
</span><span class="code-line"> <span class="token keyword">echo</span> <span class="token function">count</span><span class="token punctuation">(</span><span class="token variable">$matches_out</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"> <span class="token comment">// Output: 3</span>
</span><span class="code-line"> <span class="token keyword">echo</span> <span class="token function">count</span><span class="token punctuation">(</span><span class="token variable">$matches_out</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"> <span class="token comment">// Output: Array("June 24", "August 13", "December 30")</span>
</span><span class="code-line"> <span class="token function">print_r</span><span class="token punctuation">(</span><span class="token variable">$matches_out</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"> <span class="token comment">// Output: Array("24", "13", "30")</span>
</span><span class="code-line"> <span class="token function">print_r</span><span class="token punctuation">(</span><span class="token variable">$matches_out</span><span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token punctuation">}</span>
</span></code></pre>
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="preg_grep"><a aria-hidden="true" tabindex="-1" href="#preg_grep"><span class="icon icon-link"></span></a>preg_grep</h3><div class="wrap-body">
<pre class="language-php"><code class="language-php code-highlight"><span class="code-line line-number" line="1"><span class="token variable">$arr</span> <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token string double-quoted-string">"Jane"</span><span class="token punctuation">,</span> <span class="token string double-quoted-string">"jane"</span><span class="token punctuation">,</span> <span class="token string double-quoted-string">"Joan"</span><span class="token punctuation">,</span> <span class="token string double-quoted-string">"JANE"</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="2"><span class="token variable">$regex</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"/Jane/"</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="3"><span class="token comment">// Output: Jane</span>
</span><span class="code-line line-number" line="4"><span class="token keyword">echo</span> <span class="token function">preg_grep</span><span class="token punctuation">(</span><span class="token variable">$regex</span><span class="token punctuation">,</span> <span class="token variable">$arr</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<pre class="language-php"><code class="language-php code-highlight"><span class="code-line"><span class="token variable">$arr</span> <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token string double-quoted-string">"Jane"</span><span class="token punctuation">,</span> <span class="token string double-quoted-string">"jane"</span><span class="token punctuation">,</span> <span class="token string double-quoted-string">"Joan"</span><span class="token punctuation">,</span> <span class="token string double-quoted-string">"JANE"</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token variable">$regex</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"/Jane/"</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token comment">// Output: Jane</span>
</span><span class="code-line"><span class="token keyword">echo</span> <span class="token function">preg_grep</span><span class="token punctuation">(</span><span class="token variable">$regex</span><span class="token punctuation">,</span> <span class="token variable">$arr</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span></code></pre>
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="preg_split"><a aria-hidden="true" tabindex="-1" href="#preg_split"><span class="icon icon-link"></span></a>preg_split</h3><div class="wrap-body">
<!--rehype:wrap-class=col-span-2-->
<pre class="language-php"><code class="language-php code-highlight"><span class="code-line line-number" line="1"><span class="token variable">$str</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"Jane\tKate\nLucy Marion"</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="2"><span class="token variable">$regex</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"@\s@"</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="3"><span class="token comment">// Output: Array("Jane", "Kate", "Lucy", "Marion")</span>
</span><span class="code-line line-number" line="4"><span class="token function">print_r</span><span class="token punctuation">(</span><span class="token function">preg_split</span><span class="token punctuation">(</span><span class="token variable">$regex</span><span class="token punctuation">,</span> <span class="token variable">$str</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<pre class="language-php"><code class="language-php code-highlight"><span class="code-line"><span class="token variable">$str</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"Jane\tKate\nLucy Marion"</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token variable">$regex</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"@\s@"</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token comment">// Output: Array("Jane", "Kate", "Lucy", "Marion")</span>
</span><span class="code-line"><span class="token function">print_r</span><span class="token punctuation">(</span><span class="token function">preg_split</span><span class="token punctuation">(</span><span class="token variable">$regex</span><span class="token punctuation">,</span> <span class="token variable">$str</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span></code></pre>
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="java-中的正则表达式"><a aria-hidden="true" tabindex="-1" href="#java-中的正则表达式"><span class="icon icon-link"></span></a>Java 中的正则表达式</h2><div class="wrap-body">
</div></div><div class="h2wrap-body"><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="风格"><a aria-hidden="true" tabindex="-1" href="#风格"><span class="icon icon-link"></span></a>风格</h3><div class="wrap-body">
<!--rehype:wrap-class=col-span-2-->
</div></div><div class="h3wrap-body"><div class="wrap"><div class="wrap-header h4wrap"><h4 id="第一种方式"><a aria-hidden="true" tabindex="-1" href="#第一种方式"><span class="icon icon-link"></span></a>第一种方式</h4><div class="wrap-body">
<pre class="language-java"><code class="language-java code-highlight"><span class="code-line line-number" line="1"><span class="token class-name">Pattern</span> p <span class="token operator">=</span> <span class="token class-name">Pattern</span><span class="token punctuation">.</span><span class="token function">compile</span><span class="token punctuation">(</span><span class="token string">".s"</span><span class="token punctuation">,</span> <span class="token class-name">Pattern</span><span class="token punctuation">.</span><span class="token constant">CASE_INSENSITIVE</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="2"><span class="token class-name">Matcher</span> m <span class="token operator">=</span> p<span class="token punctuation">.</span><span class="token function">matcher</span><span class="token punctuation">(</span><span class="token string">"aS"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="3"><span class="token keyword">boolean</span> s1 <span class="token operator">=</span> m<span class="token punctuation">.</span><span class="token function">matches</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="4"><span class="token class-name">System</span><span class="token punctuation">.</span>out<span class="token punctuation">.</span><span class="token function">println</span><span class="token punctuation">(</span>s1<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// Outputs: true</span>
<pre class="language-java"><code class="language-java code-highlight"><span class="code-line"><span class="token class-name">Pattern</span> p <span class="token operator">=</span> <span class="token class-name">Pattern</span><span class="token punctuation">.</span><span class="token function">compile</span><span class="token punctuation">(</span><span class="token string">".s"</span><span class="token punctuation">,</span> <span class="token class-name">Pattern</span><span class="token punctuation">.</span><span class="token constant">CASE_INSENSITIVE</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token class-name">Matcher</span> m <span class="token operator">=</span> p<span class="token punctuation">.</span><span class="token function">matcher</span><span class="token punctuation">(</span><span class="token string">"aS"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token keyword">boolean</span> s1 <span class="token operator">=</span> m<span class="token punctuation">.</span><span class="token function">matches</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token class-name">System</span><span class="token punctuation">.</span>out<span class="token punctuation">.</span><span class="token function">println</span><span class="token punctuation">(</span>s1<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// Outputs: true</span>
</span></code></pre>
</div></div></div><div class="wrap"><div class="wrap-header h4wrap"><h4 id="第二种方式"><a aria-hidden="true" tabindex="-1" href="#第二种方式"><span class="icon icon-link"></span></a>第二种方式</h4><div class="wrap-body">
<pre class="language-java"><code class="language-java code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">boolean</span> s2 <span class="token operator">=</span> <span class="token class-name">Pattern</span><span class="token punctuation">.</span><span class="token function">compile</span><span class="token punctuation">(</span><span class="token string">"[0-9]+"</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">matcher</span><span class="token punctuation">(</span><span class="token string">"123"</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">matches</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="2"><span class="token class-name">System</span><span class="token punctuation">.</span>out<span class="token punctuation">.</span><span class="token function">println</span><span class="token punctuation">(</span>s2<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// Outputs: true</span>
<pre class="language-java"><code class="language-java code-highlight"><span class="code-line"><span class="token keyword">boolean</span> s2 <span class="token operator">=</span> <span class="token class-name">Pattern</span><span class="token punctuation">.</span><span class="token function">compile</span><span class="token punctuation">(</span><span class="token string">"[0-9]+"</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">matcher</span><span class="token punctuation">(</span><span class="token string">"123"</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">matches</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token class-name">System</span><span class="token punctuation">.</span>out<span class="token punctuation">.</span><span class="token function">println</span><span class="token punctuation">(</span>s2<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// Outputs: true</span>
</span></code></pre>
</div></div></div><div class="wrap"><div class="wrap-header h4wrap"><h4 id="第三种方式"><a aria-hidden="true" tabindex="-1" href="#第三种方式"><span class="icon icon-link"></span></a>第三种方式</h4><div class="wrap-body">
<pre class="language-java"><code class="language-java code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">boolean</span> s3 <span class="token operator">=</span> <span class="token class-name">Pattern</span><span class="token punctuation">.</span><span class="token function">matches</span><span class="token punctuation">(</span><span class="token string">".s"</span><span class="token punctuation">,</span> <span class="token string">"XXXX"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="2"><span class="token class-name">System</span><span class="token punctuation">.</span>out<span class="token punctuation">.</span><span class="token function">println</span><span class="token punctuation">(</span>s3<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// Outputs: false</span>
<pre class="language-java"><code class="language-java code-highlight"><span class="code-line"><span class="token keyword">boolean</span> s3 <span class="token operator">=</span> <span class="token class-name">Pattern</span><span class="token punctuation">.</span><span class="token function">matches</span><span class="token punctuation">(</span><span class="token string">".s"</span><span class="token punctuation">,</span> <span class="token string">"XXXX"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token class-name">System</span><span class="token punctuation">.</span>out<span class="token punctuation">.</span><span class="token function">println</span><span class="token punctuation">(</span>s3<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// Outputs: false</span>
</span></code></pre>
</div></div></div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="模式字段"><a aria-hidden="true" tabindex="-1" href="#模式字段"><span class="icon icon-link"></span></a>模式字段</h3><div class="wrap-body">
@ -2098,24 +2098,24 @@
</div></div></div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="例子"><a aria-hidden="true" tabindex="-1" href="#例子"><span class="icon icon-link"></span></a>例子</h3><div class="wrap-body">
<!--rehype:wrap-class=col-span-2-->
<p>替换句子:</p>
<pre class="language-java"><code class="language-java code-highlight"><span class="code-line line-number" line="1"><span class="token class-name">String</span> regex <span class="token operator">=</span> <span class="token string">"[A-Z\n]{5}$"</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="2"><span class="token class-name">String</span> str <span class="token operator">=</span> <span class="token string">"I like APP\nLE"</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="3"><span class="token class-name">Pattern</span> p <span class="token operator">=</span> <span class="token class-name">Pattern</span><span class="token punctuation">.</span><span class="token function">compile</span><span class="token punctuation">(</span>regex<span class="token punctuation">,</span> <span class="token class-name">Pattern</span><span class="token punctuation">.</span><span class="token constant">MULTILINE</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="4"><span class="token class-name">Matcher</span> m <span class="token operator">=</span> p<span class="token punctuation">.</span><span class="token function">matcher</span><span class="token punctuation">(</span>str<span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="5"><span class="token comment">// Outputs: I like Apple!</span>
</span><span class="code-line line-number" line="6"><span class="token class-name">System</span><span class="token punctuation">.</span>out<span class="token punctuation">.</span><span class="token function">println</span><span class="token punctuation">(</span>m<span class="token punctuation">.</span><span class="token function">replaceAll</span><span class="token punctuation">(</span><span class="token string">"pple!"</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<pre class="language-java"><code class="language-java code-highlight"><span class="code-line"><span class="token class-name">String</span> regex <span class="token operator">=</span> <span class="token string">"[A-Z\n]{5}$"</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token class-name">String</span> str <span class="token operator">=</span> <span class="token string">"I like APP\nLE"</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token class-name">Pattern</span> p <span class="token operator">=</span> <span class="token class-name">Pattern</span><span class="token punctuation">.</span><span class="token function">compile</span><span class="token punctuation">(</span>regex<span class="token punctuation">,</span> <span class="token class-name">Pattern</span><span class="token punctuation">.</span><span class="token constant">MULTILINE</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token class-name">Matcher</span> m <span class="token operator">=</span> p<span class="token punctuation">.</span><span class="token function">matcher</span><span class="token punctuation">(</span>str<span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token comment">// Outputs: I like Apple!</span>
</span><span class="code-line"><span class="token class-name">System</span><span class="token punctuation">.</span>out<span class="token punctuation">.</span><span class="token function">println</span><span class="token punctuation">(</span>m<span class="token punctuation">.</span><span class="token function">replaceAll</span><span class="token punctuation">(</span><span class="token string">"pple!"</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span></code></pre>
<p>所有匹配的数组:</p>
<pre class="language-java"><code class="language-java code-highlight"><span class="code-line line-number" line="1"><span class="token class-name">String</span> str <span class="token operator">=</span> <span class="token string">"She sells seashells by the Seashore"</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="2"><span class="token class-name">String</span> regex <span class="token operator">=</span> <span class="token string">"\\w*se\\w*"</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="3"><span class="token class-name">Pattern</span> p <span class="token operator">=</span> <span class="token class-name">Pattern</span><span class="token punctuation">.</span><span class="token function">compile</span><span class="token punctuation">(</span>regex<span class="token punctuation">,</span> <span class="token class-name">Pattern</span><span class="token punctuation">.</span><span class="token constant">CASE_INSENSITIVE</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="4"><span class="token class-name">Matcher</span> m <span class="token operator">=</span> p<span class="token punctuation">.</span><span class="token function">matcher</span><span class="token punctuation">(</span>str<span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="5"><span class="token class-name">List</span><span class="token generics"><span class="token punctuation">&#x3C;</span><span class="token class-name">String</span><span class="token punctuation">></span></span> matches <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ArrayList</span><span class="token generics"><span class="token punctuation">&#x3C;</span><span class="token punctuation">></span></span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="6"><span class="token keyword">while</span> <span class="token punctuation">(</span>m<span class="token punctuation">.</span><span class="token function">find</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
</span><span class="code-line line-number" line="7"> matches<span class="token punctuation">.</span><span class="token function">add</span><span class="token punctuation">(</span>m<span class="token punctuation">.</span><span class="token function">group</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="8"><span class="token punctuation">}</span>
</span><span class="code-line line-number" line="9"><span class="token comment">// Outputs: [sells, seashells, Seashore]</span>
</span><span class="code-line line-number" line="10"><span class="token class-name">System</span><span class="token punctuation">.</span>out<span class="token punctuation">.</span><span class="token function">println</span><span class="token punctuation">(</span>matches<span class="token punctuation">)</span><span class="token punctuation">;</span>
<pre class="language-java"><code class="language-java code-highlight"><span class="code-line"><span class="token class-name">String</span> str <span class="token operator">=</span> <span class="token string">"She sells seashells by the Seashore"</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token class-name">String</span> regex <span class="token operator">=</span> <span class="token string">"\\w*se\\w*"</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token class-name">Pattern</span> p <span class="token operator">=</span> <span class="token class-name">Pattern</span><span class="token punctuation">.</span><span class="token function">compile</span><span class="token punctuation">(</span>regex<span class="token punctuation">,</span> <span class="token class-name">Pattern</span><span class="token punctuation">.</span><span class="token constant">CASE_INSENSITIVE</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token class-name">Matcher</span> m <span class="token operator">=</span> p<span class="token punctuation">.</span><span class="token function">matcher</span><span class="token punctuation">(</span>str<span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token class-name">List</span><span class="token generics"><span class="token punctuation">&#x3C;</span><span class="token class-name">String</span><span class="token punctuation">></span></span> matches <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ArrayList</span><span class="token generics"><span class="token punctuation">&#x3C;</span><span class="token punctuation">></span></span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token keyword">while</span> <span class="token punctuation">(</span>m<span class="token punctuation">.</span><span class="token function">find</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
</span><span class="code-line"> matches<span class="token punctuation">.</span><span class="token function">add</span><span class="token punctuation">(</span>m<span class="token punctuation">.</span><span class="token function">group</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token punctuation">}</span>
</span><span class="code-line"><span class="token comment">// Outputs: [sells, seashells, Seashore]</span>
</span><span class="code-line"><span class="token class-name">System</span><span class="token punctuation">.</span>out<span class="token punctuation">.</span><span class="token function">println</span><span class="token punctuation">(</span>matches<span class="token punctuation">)</span><span class="token punctuation">;</span>
</span></code></pre>
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="mysql中的正则表达式"><a aria-hidden="true" tabindex="-1" href="#mysql中的正则表达式"><span class="icon icon-link"></span></a>MySQL中的正则表达式</h2><div class="wrap-body">
<!--rehype:body-class=cols-2-->
@ -2151,62 +2151,62 @@
<table><thead><tr><th align="left">函数名称</th><th>说明</th></tr></thead><tbody><tr><td align="left"><code>REGEXP </code></td><td>字符串是否匹配正则表达式</td></tr><tr><td align="left"><code>REGEXP_INSTR() </code></td><td>匹配正则表达式的子字符串的起始索引 <br><em>(注意:仅限 MySQL 8.0+</em></td></tr><tr><td align="left"><code>REGEXP_LIKE() </code></td><td>字符串是否匹配正则表达式 <br><em>(注意:仅 MySQL 8.0+)</em></td></tr><tr><td align="left"><code>REGEXP_REPLACE()</code></td><td>替换匹配正则表达式的子字符串 <br><em>(注意:仅限 MySQL 8.0+</em></td></tr><tr><td align="left"><code>REGEXP_SUBSTR() </code></td><td>返回匹配正则表达式的子字符串 <br><em>(注意:仅 MySQL 8.0+)</em></td></tr></tbody></table>
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="regexp"><a aria-hidden="true" tabindex="-1" href="#regexp"><span class="icon icon-link"></span></a>REGEXP</h3><div class="wrap-body">
<pre class="language-sql"><code class="language-sql code-highlight"><span class="code-line line-number" line="1">expr <span class="token operator">REGEXP</span> pat
<pre class="language-sql"><code class="language-sql code-highlight"><span class="code-line">expr <span class="token operator">REGEXP</span> pat
</span></code></pre>
</div></div><div class="h3wrap-body"><div class="wrap"><div class="wrap-header h4wrap"><h4 id="examples"><a aria-hidden="true" tabindex="-1" href="#examples"><span class="icon icon-link"></span></a>Examples</h4><div class="wrap-body">
<pre class="language-sql"><code class="language-sql code-highlight"><span class="code-line line-number" line="1">mysql<span class="token operator">></span> <span class="token keyword">SELECT</span> <span class="token string">'abc'</span> <span class="token operator">REGEXP</span> <span class="token string">'^[a-d]'</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="2"><span class="token number">1</span>
</span><span class="code-line line-number" line="3">mysql<span class="token operator">></span> <span class="token keyword">SELECT</span> name <span class="token keyword">FROM</span> cities <span class="token keyword">WHERE</span> name <span class="token operator">REGEXP</span> <span class="token string">'^A'</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="4">mysql<span class="token operator">></span> <span class="token keyword">SELECT</span> name <span class="token keyword">FROM</span> cities <span class="token keyword">WHERE</span> name <span class="token operator">NOT</span> <span class="token operator">REGEXP</span> <span class="token string">'^A'</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="5">mysql<span class="token operator">></span> <span class="token keyword">SELECT</span> name <span class="token keyword">FROM</span> cities <span class="token keyword">WHERE</span> name <span class="token operator">REGEXP</span> <span class="token string">'A|B|R'</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="6">mysql<span class="token operator">></span> <span class="token keyword">SELECT</span> <span class="token string">'a'</span> <span class="token operator">REGEXP</span> <span class="token string">'A'</span><span class="token punctuation">,</span> <span class="token string">'a'</span> <span class="token operator">REGEXP</span> <span class="token keyword">BINARY</span> <span class="token string">'A'</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="7"><span class="token number">1</span> <span class="token number">0</span>
<pre class="language-sql"><code class="language-sql code-highlight"><span class="code-line">mysql<span class="token operator">></span> <span class="token keyword">SELECT</span> <span class="token string">'abc'</span> <span class="token operator">REGEXP</span> <span class="token string">'^[a-d]'</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token number">1</span>
</span><span class="code-line">mysql<span class="token operator">></span> <span class="token keyword">SELECT</span> name <span class="token keyword">FROM</span> cities <span class="token keyword">WHERE</span> name <span class="token operator">REGEXP</span> <span class="token string">'^A'</span><span class="token punctuation">;</span>
</span><span class="code-line">mysql<span class="token operator">></span> <span class="token keyword">SELECT</span> name <span class="token keyword">FROM</span> cities <span class="token keyword">WHERE</span> name <span class="token operator">NOT</span> <span class="token operator">REGEXP</span> <span class="token string">'^A'</span><span class="token punctuation">;</span>
</span><span class="code-line">mysql<span class="token operator">></span> <span class="token keyword">SELECT</span> name <span class="token keyword">FROM</span> cities <span class="token keyword">WHERE</span> name <span class="token operator">REGEXP</span> <span class="token string">'A|B|R'</span><span class="token punctuation">;</span>
</span><span class="code-line">mysql<span class="token operator">></span> <span class="token keyword">SELECT</span> <span class="token string">'a'</span> <span class="token operator">REGEXP</span> <span class="token string">'A'</span><span class="token punctuation">,</span> <span class="token string">'a'</span> <span class="token operator">REGEXP</span> <span class="token keyword">BINARY</span> <span class="token string">'A'</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token number">1</span> <span class="token number">0</span>
</span></code></pre>
</div></div></div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="regexp_replace"><a aria-hidden="true" tabindex="-1" href="#regexp_replace"><span class="icon icon-link"></span></a>REGEXP_REPLACE</h3><div class="wrap-body">
<pre><code class="code-highlight"><span class="code-line line-number" line="1">REGEXP_REPLACE(expr, pat, repl[, pos[, occurrence[, match_type]]])
<pre><code class="code-highlight"><span class="code-line">REGEXP_REPLACE(expr, pat, repl[, pos[, occurrence[, match_type]]])
</span></code></pre>
</div></div><div class="h3wrap-body"><div class="wrap"><div class="wrap-header h4wrap"><h4 id="例子-1"><a aria-hidden="true" tabindex="-1" href="#例子-1"><span class="icon icon-link"></span></a>例子</h4><div class="wrap-body">
<pre class="language-sql"><code class="language-sql code-highlight"><span class="code-line line-number" line="1">mysql<span class="token operator">></span> <span class="token keyword">SELECT</span> REGEXP_REPLACE<span class="token punctuation">(</span><span class="token string">'a b c'</span><span class="token punctuation">,</span> <span class="token string">'b'</span><span class="token punctuation">,</span> <span class="token string">'X'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="2">a X c
</span><span class="code-line line-number" line="3">mysql<span class="token operator">></span> <span class="token keyword">SELECT</span> REGEXP_REPLACE<span class="token punctuation">(</span><span class="token string">'abc ghi'</span><span class="token punctuation">,</span> <span class="token string">'[a-z]+'</span><span class="token punctuation">,</span> <span class="token string">'X'</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">2</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="4">abc X
<pre class="language-sql"><code class="language-sql code-highlight"><span class="code-line">mysql<span class="token operator">></span> <span class="token keyword">SELECT</span> REGEXP_REPLACE<span class="token punctuation">(</span><span class="token string">'a b c'</span><span class="token punctuation">,</span> <span class="token string">'b'</span><span class="token punctuation">,</span> <span class="token string">'X'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line">a X c
</span><span class="code-line">mysql<span class="token operator">></span> <span class="token keyword">SELECT</span> REGEXP_REPLACE<span class="token punctuation">(</span><span class="token string">'abc ghi'</span><span class="token punctuation">,</span> <span class="token string">'[a-z]+'</span><span class="token punctuation">,</span> <span class="token string">'X'</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">2</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line">abc X
</span></code></pre>
</div></div></div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="regexp_substr"><a aria-hidden="true" tabindex="-1" href="#regexp_substr"><span class="icon icon-link"></span></a>REGEXP_SUBSTR</h3><div class="wrap-body">
<pre><code class="code-highlight"><span class="code-line line-number" line="1">REGEXP_SUBSTR(expr, pat[, pos[, occurrence[, match_type]]])
<pre><code class="code-highlight"><span class="code-line">REGEXP_SUBSTR(expr, pat[, pos[, occurrence[, match_type]]])
</span></code></pre>
</div></div><div class="h3wrap-body"><div class="wrap"><div class="wrap-header h4wrap"><h4 id="例子-2"><a aria-hidden="true" tabindex="-1" href="#例子-2"><span class="icon icon-link"></span></a>例子</h4><div class="wrap-body">
<pre class="language-sql"><code class="language-sql code-highlight"><span class="code-line line-number" line="1">mysql<span class="token operator">></span> <span class="token keyword">SELECT</span> REGEXP_SUBSTR<span class="token punctuation">(</span><span class="token string">'abc def ghi'</span><span class="token punctuation">,</span> <span class="token string">'[a-z]+'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="2">abc
</span><span class="code-line line-number" line="3">mysql<span class="token operator">></span> <span class="token keyword">SELECT</span> REGEXP_SUBSTR<span class="token punctuation">(</span><span class="token string">'abc def ghi'</span><span class="token punctuation">,</span> <span class="token string">'[a-z]+'</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="4">ghi
<pre class="language-sql"><code class="language-sql code-highlight"><span class="code-line">mysql<span class="token operator">></span> <span class="token keyword">SELECT</span> REGEXP_SUBSTR<span class="token punctuation">(</span><span class="token string">'abc def ghi'</span><span class="token punctuation">,</span> <span class="token string">'[a-z]+'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line">abc
</span><span class="code-line">mysql<span class="token operator">></span> <span class="token keyword">SELECT</span> REGEXP_SUBSTR<span class="token punctuation">(</span><span class="token string">'abc def ghi'</span><span class="token punctuation">,</span> <span class="token string">'[a-z]+'</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line">ghi
</span></code></pre>
</div></div></div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="regexp_like"><a aria-hidden="true" tabindex="-1" href="#regexp_like"><span class="icon icon-link"></span></a>REGEXP_LIKE</h3><div class="wrap-body">
<pre><code class="code-highlight"><span class="code-line line-number" line="1">REGEXP_LIKE(expr, pat[, match_type])
<pre><code class="code-highlight"><span class="code-line">REGEXP_LIKE(expr, pat[, match_type])
</span></code></pre>
</div></div><div class="h3wrap-body"><div class="wrap"><div class="wrap-header h4wrap"><h4 id="例子-3"><a aria-hidden="true" tabindex="-1" href="#例子-3"><span class="icon icon-link"></span></a>例子</h4><div class="wrap-body">
<pre class="language-sql"><code class="language-sql code-highlight"><span class="code-line line-number" line="1">mysql<span class="token operator">></span> <span class="token keyword">SELECT</span> regexp_like<span class="token punctuation">(</span><span class="token string">'aba'</span><span class="token punctuation">,</span> <span class="token string">'b+'</span><span class="token punctuation">)</span>
</span><span class="code-line line-number" line="2"><span class="token number">1</span>
</span><span class="code-line line-number" line="3">mysql<span class="token operator">></span> <span class="token keyword">SELECT</span> regexp_like<span class="token punctuation">(</span><span class="token string">'aba'</span><span class="token punctuation">,</span> <span class="token string">'b{2}'</span><span class="token punctuation">)</span>
</span><span class="code-line line-number" line="4"><span class="token number">0</span>
</span><span class="code-line line-number" line="5">mysql<span class="token operator">></span> <span class="token comment"># i: case-insensitive</span>
</span><span class="code-line line-number" line="6">mysql<span class="token operator">></span> <span class="token keyword">SELECT</span> regexp_like<span class="token punctuation">(</span><span class="token string">'Abba'</span><span class="token punctuation">,</span> <span class="token string">'ABBA'</span><span class="token punctuation">,</span> <span class="token string">'i'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="7"><span class="token number">1</span>
</span><span class="code-line line-number" line="8">mysql<span class="token operator">></span> <span class="token comment"># m: multi-line</span>
</span><span class="code-line line-number" line="9">mysql<span class="token operator">></span> <span class="token keyword">SELECT</span> regexp_like<span class="token punctuation">(</span><span class="token string">'a\nb\nc'</span><span class="token punctuation">,</span> <span class="token string">'^b$'</span><span class="token punctuation">,</span> <span class="token string">'m'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="10"><span class="token number">1</span>
<pre class="language-sql"><code class="language-sql code-highlight"><span class="code-line">mysql<span class="token operator">></span> <span class="token keyword">SELECT</span> regexp_like<span class="token punctuation">(</span><span class="token string">'aba'</span><span class="token punctuation">,</span> <span class="token string">'b+'</span><span class="token punctuation">)</span>
</span><span class="code-line"><span class="token number">1</span>
</span><span class="code-line">mysql<span class="token operator">></span> <span class="token keyword">SELECT</span> regexp_like<span class="token punctuation">(</span><span class="token string">'aba'</span><span class="token punctuation">,</span> <span class="token string">'b{2}'</span><span class="token punctuation">)</span>
</span><span class="code-line"><span class="token number">0</span>
</span><span class="code-line">mysql<span class="token operator">></span> <span class="token comment"># i: case-insensitive</span>
</span><span class="code-line">mysql<span class="token operator">></span> <span class="token keyword">SELECT</span> regexp_like<span class="token punctuation">(</span><span class="token string">'Abba'</span><span class="token punctuation">,</span> <span class="token string">'ABBA'</span><span class="token punctuation">,</span> <span class="token string">'i'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token number">1</span>
</span><span class="code-line">mysql<span class="token operator">></span> <span class="token comment"># m: multi-line</span>
</span><span class="code-line">mysql<span class="token operator">></span> <span class="token keyword">SELECT</span> regexp_like<span class="token punctuation">(</span><span class="token string">'a\nb\nc'</span><span class="token punctuation">,</span> <span class="token string">'^b$'</span><span class="token punctuation">,</span> <span class="token string">'m'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token number">1</span>
</span></code></pre>
</div></div></div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="regexp_instr"><a aria-hidden="true" tabindex="-1" href="#regexp_instr"><span class="icon icon-link"></span></a>REGEXP_INSTR</h3><div class="wrap-body">
<pre><code class="language-{.wrap} code-highlight"><span class="code-line line-number" line="1">REGEXP_INSTR(expr, pat[, pos[, occurrence[, return_option[, match_type]]]])
<pre><code class="language-{.wrap} code-highlight"><span class="code-line">REGEXP_INSTR(expr, pat[, pos[, occurrence[, return_option[, match_type]]]])
</span></code></pre>
</div></div><div class="h3wrap-body"><div class="wrap"><div class="wrap-header h4wrap"><h4 id="例子-4"><a aria-hidden="true" tabindex="-1" href="#例子-4"><span class="icon icon-link"></span></a>例子</h4><div class="wrap-body">
<pre class="language-sql"><code class="language-sql code-highlight"><span class="code-line line-number" line="1">mysql<span class="token operator">></span> <span class="token keyword">SELECT</span> regexp_instr<span class="token punctuation">(</span><span class="token string">'aa aaa aaaa'</span><span class="token punctuation">,</span> <span class="token string">'a{3}'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="2"><span class="token number">2</span>
</span><span class="code-line line-number" line="3">mysql<span class="token operator">></span> <span class="token keyword">SELECT</span> regexp_instr<span class="token punctuation">(</span><span class="token string">'abba'</span><span class="token punctuation">,</span> <span class="token string">'b{2}'</span><span class="token punctuation">,</span> <span class="token number">2</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="4"><span class="token number">2</span>
</span><span class="code-line line-number" line="5">mysql<span class="token operator">></span> <span class="token keyword">SELECT</span> regexp_instr<span class="token punctuation">(</span><span class="token string">'abbabba'</span><span class="token punctuation">,</span> <span class="token string">'b{2}'</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">2</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="6"><span class="token number">5</span>
</span><span class="code-line line-number" line="7">mysql<span class="token operator">></span> <span class="token keyword">SELECT</span> regexp_instr<span class="token punctuation">(</span><span class="token string">'abbabba'</span><span class="token punctuation">,</span> <span class="token string">'b{2}'</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">3</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="8"><span class="token number">7</span>
<pre class="language-sql"><code class="language-sql code-highlight"><span class="code-line">mysql<span class="token operator">></span> <span class="token keyword">SELECT</span> regexp_instr<span class="token punctuation">(</span><span class="token string">'aa aaa aaaa'</span><span class="token punctuation">,</span> <span class="token string">'a{3}'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token number">2</span>
</span><span class="code-line">mysql<span class="token operator">></span> <span class="token keyword">SELECT</span> regexp_instr<span class="token punctuation">(</span><span class="token string">'abba'</span><span class="token punctuation">,</span> <span class="token string">'b{2}'</span><span class="token punctuation">,</span> <span class="token number">2</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token number">2</span>
</span><span class="code-line">mysql<span class="token operator">></span> <span class="token keyword">SELECT</span> regexp_instr<span class="token punctuation">(</span><span class="token string">'abbabba'</span><span class="token punctuation">,</span> <span class="token string">'b{2}'</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">2</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token number">5</span>
</span><span class="code-line">mysql<span class="token operator">></span> <span class="token keyword">SELECT</span> regexp_instr<span class="token punctuation">(</span><span class="token string">'abbabba'</span><span class="token punctuation">,</span> <span class="token string">'b{2}'</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">3</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token number">7</span>
</span></code></pre>
</div></div></div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="也可以看看"><a aria-hidden="true" tabindex="-1" href="#也可以看看"><span class="icon icon-link"></span></a>也可以看看</h2><div class="wrap-body">
<ul>