ホームページ >データベース >mysql チュートリアル >MySQL の正規表現でキャプチャ グループを参照するにはどうすればよいですか?

MySQL の正規表現でキャプチャ グループを参照するにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-03 15:00:30976ブラウズ

How to Reference Capture Groups in Regular Expressions in 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。