ホームページ >データベース >mysql チュートリアル >MySQL の正規表現でキャプチャ グループを参照するにはどうすればよいですか?
MySQL での正規表現キャプチャ グループの参照
MySQL では、次の方法を使用して正規表現内のキャプチャ グループを参照できます。
構文:
REGEXP_REPLACE(string, pattern, replacement)
MySQL 8 の場合:
キャプチャ グループは括弧 () を使用して作成できます。キャプチャ グループを参照するには、$1、$2 などを使用します。
<code class="sql">SELECT REGEXP_REPLACE('stackoverflow','(.{5})(.*)',''); -- Output: "overflowstack"</code>
MariaDB の場合:
MariaDB のキャプチャ グループは別の方法で管理されます。後方参照では \1、\2 などが使用されます。
<code class="sql">SELECT REGEXP_REPLACE('stackoverflow','(.{5})(.*)','\2\1'); -- Output: "overflowstack"</code>
例:
正規表現 ^(.)1$ は、同じものが 2 つあるかどうかをチェックします。ただし、この構文は MySQL では機能しません。代わりに、以下を使用します:
<code class="sql">SELECT REGEXP_REPLACE('aabbcc','^(.)(.)$',''); -- Output: "b"</code>
この正規表現は、文字列の最初の 2 文字 (a と a) を 2 つのキャプチャ グループとして照合し、2 番目の文字 (b) を取得します。
以上がMySQL の正規表現でキャプチャ グループを参照するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。