MySQL は正規表現をどのように使用しますか? (コード例)
MySQL は、正規表現と正規表現演算子に基づく別のパターン マッチング操作をサポートしています。以下の記事では、MySQL の正規表現 (Regexp) について紹介し、MySQL での正規表現 (Regexp) の使用方法を例を通して簡単に紹介します。
MySQL 正規表現 (Regexp) の簡単な紹介
#1 を提供します。これは、データベース システム用の強力な検索ユーティリティの実装に役立つ強力かつ柔軟なマッチング パターンを提供します。 2. regexp は正規表現のパターン マッチングを実行するときに使用される演算子であり、rlike は同義語です。 3. パターン マッチングを実行する際の柔軟性と制御を向上させる多数のメタキャラクターもサポートしています。 4. バックスラッシュはエスケープ文字として使用されます。二重バックスラッシュが使用されている場合、それらはパターン マッチングでのみ考慮されます。 5. 大文字と小文字は区別されません。次は、REGEXP 演算子で使用できる通常のパターンの表です。 【おすすめの関連ビデオ チュートリアル: MySQL ビデオ チュートリアル ]
パターン | 説明 (特に一致する内容) | ||||
^ | 文字列の先頭と一致します。 | ||||
$ | 文字列の終了位置と一致します。 | ||||
. | 「\n」を除く任意の 1 文字と一致します。 | ||||
[...] | は、それに含まれる任意の文字と一致します。 | ||||
[^...] | 含まれていない任意の文字と一致します。 | ||||
先行する 0 個または 1 個の部分式 (文字列) と一致します。 | |||||
# 先行する 0 個以上の部分式 (文字列) と一致します。 | |||||
先行する 1 つ以上の部分式 (文字列) と一致します。 | |||||
角括弧内にリストされた任意の文字と一致します。 | |||||
角括弧内にリストされていない任意の文字と一致します。 | |||||
は任意の大文字と一致します。 | |||||
は任意の小文字と一致します。 | |||||
0 ~ 9 の任意の数値と一致します。 | |||||
単語の先頭と一致します。 | |||||
単語の末尾と一致します。 | |||||
は文字クラスに一致します。つまり、[:alpha:] は文字に一致し、[:space:] はスペースに一致します。[:punct] :] は句読点に一致し、[:upper:] は大文字に一致します。 | |||||
p1|p2|p3 | 任意のパターン (p1、p2、または p3) に一致します | ||||
#{n} | n 個の要素の前にある n 個の部分式と一致します | ||||
{m,n} | 要素の前にある m 個から n 個の部分式と一致します |
使用例:
以下では、簡単な例を使用して MySQL 正規表現 (Regexp) の使用を紹介します。 )。
1. 文字列の先頭 (^) と一致します:
名前フィールドが「sa」で始まるすべてのデータと一致します (例: Sample-sam、samarth)。 。
SELECT name FROM student_tbl WHERE name REGEXP '^sa';
2. 文字列 ($) の末尾に一致します:
名前フィールドが「on」で終わるすべてのデータに一致します (例: Norton、merton)。
SELECT name FROM student_tbl WHERE name REGEXP 'on$';
3. 先頭の文字列の 0 個または 1 個の部分式 (?) と一致します。
タイトル フィールドに「com」が含まれるすべてのデータと一致します。例: Comedy 、 ラブコメ。
SELECT title FROM movies_tbl WHERE title REGEXP 'com?';
4. 任意のパターン p1 または p2 または p3 に一致します (p1 | p2 | p3):
名前フィールドに「be」または「ae」が含まれるすべての名前に一致します。 ' データ、例: Abel、Baer。
SELECT name FROM student_tbl WHERE REGEXP 'be|ae' ;
5. 角括弧 ([abc]) の間にリストされている任意の文字と一致します。
名前フィールドに「j」または「z」データが含まれるすべての名前と一致します。例: ローレンツ、ラージス。
SELECT name FROM student_tbl WHERE REGEXP '[jz]' ;
6. 「a」と「z」の間の任意の小文字 ([a-z]) ([a-z] および (.)) と一致します:
#Match名前フィールドの最初の桁に「b」と「g」の範囲の文字が含まれ、2 番目の桁に任意の文字が含まれ、3 番目の桁に文字「a」が含まれるすべての文字列データ。例: Tobias、sewall 。 任意の 1 文字 (.)SELECT name FROM student_tbl WHERE REGEXP '[b-g].[a]' ;
7 と一致します。角括弧 ([^ abc]) の間にリストされていない任意の文字と一致します。
と一致します。 「j」または「z」を含まないすべての名前。例: ナートン、セウォール。SELECT name FROM student_tbl WHERE REGEXP '[^jz]' ;
8. 単語の末尾の部分文字列 [[:>:]]
の文字「ack」で終わるすべてのデータと一致します。タイトル フィールド、例: 黒。SELECT title FROM movies_tbl WHERE REGEXP 'ack[[:>:]]';
9. 単語の先頭の部分文字列 [[:<:]]
の文字「for」で始まるすべてのデータと一致します。 title フィールド、例: サラ・マーシャルを忘れています。SELECT title FROM movies_tbl WHERE title REGEXP '[[:<:]]for';
10. 文字クラス [:class:]:
ie [: lower:] - 小文字、[:digit:] - 数字など。 タイトル フィールドにアルファベット文字のみを含むすべてのデータと一致します (例: ストレンジャー シングス、アベンジャーズ)。SELECT title FROM movies_tbl WHERE REGEXP '[:alpha:]' ;
以上がMySQL は正規表現をどのように使用しますか? (コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











MySQL クエリのパフォーマンスは、検索時間を線形の複雑さから対数の複雑さまで短縮するインデックスを構築することで最適化できます。 PreparedStatement を使用して SQL インジェクションを防止し、クエリのパフォーマンスを向上させます。クエリ結果を制限し、サーバーによって処理されるデータ量を削減します。適切な結合タイプの使用、インデックスの作成、サブクエリの使用の検討など、結合クエリを最適化します。クエリを分析してボトルネックを特定し、キャッシュを使用してデータベースの負荷を軽減し、オーバーヘッドを最小限に抑えます。

PHP で MySQL データベースをバックアップおよび復元するには、次の手順を実行します。 データベースをバックアップします。 mysqldump コマンドを使用して、データベースを SQL ファイルにダンプします。データベースの復元: mysql コマンドを使用して、SQL ファイルからデータベースを復元します。

MySQLテーブルにデータを挿入するにはどうすればよいですか?データベースに接続する: mysqli を使用してデータベースへの接続を確立します。 SQL クエリを準備します。挿入する列と値を指定する INSERT ステートメントを作成します。クエリの実行: query() メソッドを使用して挿入クエリを実行します。成功すると、確認メッセージが出力されます。

正規表現を使用して Golang で電子メール アドレスを検証するには、次の手順に従います。 regexp.MustCompile を使用して、有効な電子メール アドレス形式と一致する正規表現パターンを作成します。 MatchString 関数を使用して、文字列がパターンと一致するかどうかを確認します。このパターンは、次のようなほとんどの有効な電子メール アドレス形式をカバーします。 ローカル ユーザー名には文字、数字、および特殊文字を含めることができます: !.#$%&'*+/=?^_{|}~-` ドメイン名には少なくとも次の文字が含まれている必要があります。 1 文字の後に文字、数字、またはハイフンを続けます。トップレベル ドメイン (TLD) は 63 文字を超えることはできません。

MySQL 8.4 (2024 年時点の最新の LTS リリース) で導入された主な変更の 1 つは、「MySQL Native Password」プラグインがデフォルトで有効ではなくなったことです。さらに、MySQL 9.0 ではこのプラグインが完全に削除されています。 この変更は PHP および他のアプリに影響します

PHP で MySQL ストアド プロシージャを使用するには: PDO または MySQLi 拡張機能を使用して、MySQL データベースに接続します。ストアド プロシージャを呼び出すステートメントを準備します。ストアド プロシージャを実行します。結果セットを処理します (ストアド プロシージャが結果を返す場合)。データベース接続を閉じます。

PHP を使用して MySQL テーブルを作成するには、次の手順が必要です。 データベースに接続します。データベースが存在しない場合は作成します。データベースを選択します。テーブルを作成します。クエリを実行します。接続を閉じます。

Go では、正規表現を使用してタイムスタンプを照合できます。ISO8601 タイムスタンプの照合に使用されるような正規表現文字列をコンパイルします。 ^\d{4}-\d{2}-\d{2}T \d{ 2}:\d{2}:\d{2}(\.\d+)?(Z|[+-][0-9]{2}:[0-9]{2})$ 。 regexp.MatchString 関数を使用して、文字列が正規表現と一致するかどうかを確認します。
