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

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

Susan Sarandon
Susan Sarandonオリジナル
2024-11-03 14:24:03240ブラウズ

How Can You Reference Captured Groups in MySQL Regular Expressions?

MySQL 正規表現でのキャプチャ グループ参照

MySQL で正規表現を使用する場合、キャプチャ グループを使用してテキストの一部を抽出できます。ただし、他の多くのプログラミング言語とは異なり、MySQL は、後続の正規表現置換でキャプチャされたグループを参照するための同じレベルのサポートを提供しません。

MySQL 8 では、REGEXP_REPLACE 関数により、$1 を使用してキャプチャ グループを参照する機能が導入されています。たとえば、次のクエリは、文字列 'stackoverflow' の最初の 5 文字を残りの文字に置き換えます。

<code class="sql">SELECT REGEXP_REPLACE('stackoverflow','(.{5})(.*)',''); -- "overflowstack"</code>

MariaDB では REGEXP_REPLACE でのキャプチャも可能ですが、参照は 1、2 を使用して行われます。

ただし、MySQL 5.7 以前などの MySQL の以前のバージョンでは、正規表現でのキャプチャ グループの参照が直接サポートされていなかったことに注意することが重要です。これらのバージョンでは、キャプチャされたグループを参照するには、一致全体をリテラル文字列に置き換えたり、外部 PCRE ライブラリを介して Perl 互換の正規表現 (PCRE) を使用したりするなどのテクニックが必要でした。

以上がMySQL 正規表現でキャプチャされたグループを参照するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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