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 サイトの他の関連記事を参照してください。