ホームページ > データベース > mysql チュートリアル > MySQL で正規表現置換を実行するにはどうすればよいですか?

MySQL で正規表現置換を実行するにはどうすればよいですか?

DDD
リリース: 2024-12-17 17:48:10
オリジナル
590 人が閲覧しました

How Can I Perform Regular Expression Replacements in MySQL?

MySQL での正規表現置換の実行

正規表現を使用して MySQL データベース内のデータを変更したいと考えていますか?この質問では、MySQL でそのような機能が利用できるかどうかを調査し、MariaDB または MySQL 8.0 を使用している人向けの解決策を提供します。

正規表現置換関数

MariaDB または MySQL 8.0 では、 REGEXP_REPLACE() 関数は、データベース列内で正規表現ベースの置換を実行する機能を提供します。構文は次のとおりです。

REGEXP_REPLACE(col, regexp, replace)
ログイン後にコピー

  • col は、変更するデータを含む列です。
  • regexp は、一致する正規表現パターンです。
  • 交換は交換ですstring

関数の使用

REGEXP_REPLACE() 関数を利用するには、次のようにクエリに関数を含めます。

SELECT REGEXP_REPLACE('stackowerflow', 'ower', 'over');
ログイン後にコピー

これにより、出力:

stackoverflow
ログイン後にコピー

正規表現でのグループ化

この関数は正規表現内のグループ化をサポートしており、より複雑な置換が可能です。たとえば、次のステートメントはグループ化を使用して、一致した 2 つの単語の位置を交換します。

SELECT REGEXP_REPLACE("stackoverflow", "(stack)(over)(flow)", '\2 - \1 - \3')
ログイン後にコピー

これは次を返します:

over - stack - flow
ログイン後にコピー

Alternative Approaches

MariaDB または MySQL 8.0 を実行していないユーザーの場合は、PHP と MySQL を使用する代替アプローチを採用できます。この方法では、データを選択し、PHP を使用して正規表現を置換し、データベースを更新します。ただし、専用の REGEXP_REPLACE() 関数を使用するよりも煩雑でパフォーマンスに負荷がかかる可能性があります。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート