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

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

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-04 02:05:29552ブラウズ

How do I Reference Capture Groups in MySQL Regular Expressions?

MySQL Regex でのキャプチャ グループの参照

MySQL で正規表現を使用する場合、キャプチャ グループを参照する方法を理解することが重要です。キャプチャ グループを使用すると、文字列内の特定のパターンを照合して抽出できます。

問題: グループを参照できない

質問では、ユーザーは式 REGEXP '^ を使用して繰り返し文字をキャプチャしようとしています。 (.)1$'。ただし、この試行ではキャプチャされたグループを正しく参照できません。

解決策

MySQL 8 以降では、$1、$2 などを使用してキャプチャ グループを参照できます。次の式は、パターンを正常にキャプチャして置換します。

SELECT REGEXP_REPLACE('stackoverflow','(.{5})(.*)','');
-- "overflowstack"

ここで、(.{5}) は 5 文字のシーケンスをキャプチャし、(.*) は残りの文字をキャプチャします。結果は、キャプチャされたグループを交換した文字列「overflowstack」です。

MariaDB の場合、キャプチャ グループの参照には \1、\2 などが使用されます。

SELECT REGEXP_REPLACE('stackoverflow','(.{5})(.*)','\2\1');
-- "overflowstack"

キャプチャ グループを覚えておいてください。文字列の特定のセクションをターゲットにできるため、MySQL クエリでのパターン マッチングと操作の柔軟性が向上します。

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

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