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

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

Susan Sarandon
Susan Sarandonオリジナル
2024-11-04 03:59:02319ブラウズ

How do you reference capture groups in MySQL regex?

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

MySQL で正規表現 (regex) を使用する場合、多くの場合、一致したテキストの特定の部分を抽出する必要があります。捕獲グループに分けます。ただし、他の言語とは異なり、MySQL は後続の正規表現操作でこれらのグループを参照するための直接構文を提供しません。

質問:

キャプチャ グループはどのように参照できますか? MySQL 正規表現?

答え:

MySQL では、キャプチャ グループは特別な表記法を使用して参照されます。 MySQL 8 以降のバージョンの場合:

  • $n 構文が使用されます。n はキャプチャ グループの番号です (例: 最初のグループは $1)。

例:

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

この正規表現は 2 つのグループをキャプチャします:

  1. キャプチャ グループ (.{5}) を使用する最初の 5 文字
  2. キャプチャ グループ (.*) を使用する残りの文字

次に、REGEXP_REPLACE() 関数は、元の文字列を 2 番目のグループ、その後に最初のグループに置き換え、最初のグループの順序を効果的に逆転させます。 5 文字。

注: MariaDB の場合、キャプチャを参照するための表記は少し異なり、$1、$2 の代わりに 1、2 などを使用します。

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

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