1. はじめに
正規表現学習ウェブサイト: www.runoob.com/regexp/reg… 正規表現オンラインテスト: c.runoob.com/front-end/8… たとえば、次のようになります。 mysql> select 'I love you China' regexp 'I love you'; +------------------------------+ | 「愛してるよ、中国」正規表現「愛してるよ」 | +------------------------------+ | 1 | +------------------------------+ mysql> '12306' 正規表現 '[:digit:]' を選択します。 +----------------------------+ | '12306' 正規表現 '[:数字:]' | +----------------------------+ | 1 | +----------------------------+ 2. 製品テーブルを準備するまず、 名前を設定します utf8mb4; FOREIGN_KEY_CHECKS = 0 を設定します。 -- ---------------------------- -- 製品のテーブル構造 -- ---------------------------- `product` が存在する場合はテーブルを削除します。 テーブル「product」を作成します( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主キー', `product_name` varchar(255) 文字セット utf8 COLLATE utf8_general_ci NOT NULL COMMENT '製品名', `price` 10進数(10, 2) UNSIGNED NOT NULL COMMENT '製品価格', BTREE を使用した主キー (`id`) ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- 製品の記録 -- ---------------------------- `product` VALUES (1, 'Apple iPhone 13 (A2634)', 6799.00) に INSERT INTO します。 `product` VALUES (2, 'HUAWEI P50 Pro', 6488.00) に INSERT INTO します。 `product` VALUES (3, 'MIX4', 4999.00) に INSERT します。 `product` VALUES (4, 'OPPO Find X3', 3999.00) に INSERT INTO します。 `product` VALUES (5, 'vivo X70 Pro+', 5999.00) に INSERT INTO します。 FOREIGN_KEY_CHECKS = 1 を設定します。 初期データは次のようになります。 mysql> 製品から * を選択します。 +----+-------------------------+---------+ | ID | 製品名 | 価格 | +----+-------------------------+---------+ | 1 | Apple iPhone 13 (A2634) | 6799.00 | | 2 | HUAWEI P50 Pro | 6488.00 | | 3 | ミックス4 | 4999.00 | | 4 | OPPO Find X3 | 3999.00 | | 5 | vivo X70 Pro+ | 5999.00 | +----+-------------------------+---------+ 2.1 ステートメントの順序正規表現の機能はテキストのマッチングです。正規表現をテキストの内容と比較することで、テキストが正規表現で記述されたルールに準拠しているかどうかを確認できます。 必要: 製品名に3が含まれる製品を製品テーブルで照会する 声明: mysql> select * from product where product_name regexp '3'; 結果: +----+-------------------------+---------+ | ID | 製品名 | 価格 | +----+-------------------------+---------+ | 1 | Apple iPhone 13 (A2634) | 6799.00 | | 4 | OPPO Find X3 | 3999.00 | +----+-------------------------+---------+ 2.2 大文字と小文字の区別方法
必要: 製品名にHuaweiが含まれる製品を製品表で検索します。 声明: mysql> select * from product where product_name regexp 'huawei'; 結果: +----+----------------+---------+ | ID | 製品名 | 価格 | +----+----------------+---------+ | 2 | HUAWEI P50 Pro | 6488.00 | +----+----------------+---------+ 現時点では、クエリ結果はデフォルトで大文字と小文字を区別しないため、直接クエリできます。クエリで大文字と小文字を区別したい場合は、 声明: mysql> select * from product where product_name regexp binary 'huawei'; 結果: 空のセット (0.00 秒)
2.3 正規表現とlikeの違い上記で実装した機能は、実際に like を使用して実現できることに気付いた方もいると思います。多くのシナリオでは、文字列を一致させるために like を使用しますが、これらのシナリオは多くの場合非常に単純です。正規表現は非常に強力なテキスト検索およびフィルタリング ツールであり、実現できる機能は like 演算子よりもはるかに強力です。つまり、LIKE が正規表現で実行できることはすべて、基本的に正規表現が LIKE で実行できることは何もありません (または、非常にトリッキーです)。 たとえば、次の要件は正規表現を使用して簡単に実装できますが、like 演算子を実装する方法がわかりません。 必要: 製品テーブルをクエリし、製品名にvが少なくとも1回出現する製品情報を検索します。 声明: mysql> select * from product where product_name regexp 'v+'; 結果: +----+---------------+---------+ | ID | 製品名 | 価格 | +----+---------------+---------+ | 5 | vivo X70 Pro+ | 5999.00 | +----+---------------+---------+
メタ文字の繰り返し
以下もご興味があるかもしれません:
|
>>: jquery-multiselect を使用した IE6 のバグの解決方法
目次序文デモンストレーション効果HTMLコードCSSコードJavascriptコードデモアドレス序文...
赤とピンク、およびそれらの 16 進コード。 #990033 #CC6699 #FF6699 #FF...
通常の説明%はどのクライアントでも接続できることを意味しますlocalhostはローカルコンピュータ...
# には位置情報が含まれます。デフォルトのアンカーは #top で、これは Web ページの上部です...
方法1コードをコピーコードは次のとおりです。 document.getElementById(&qu...
目次1. 要素の入手方法文書から入手ID取得クラス名 (className) を取得します。タグ名 ...
単一のテーブルを削除する: tableName から columnName = value を削除し...
1. エラーの詳細一度、データベース全体のバックアップを手動で実行したときに、次のエラーが発生しまし...
以前、Docker コンテナの起動後にボリュームをマウントできるかどうか尋ねられたことがあります。m...
1 メソッドは、データをサーバーに送信する方法を指定するプロパティです。 2 post と get ...
これに先立ち、1日かけてやってみました。Seataは使い方が簡単で超シンプルですが、インストールや設...
サーバーとデータベースの構築方法を学ぶ必要があるため、最近は SQL 言語を独学で学び始めました。デ...
選択ステートメントの完全な構文は次のとおりです。 選択 DISTINCT <選択リスト>...
本日、MySQLの圧縮版をインストールする際に問題が発生しました。サービスが起動できず、2、3時間苦...
目次シングルスレッド非同期シングルスレッドしかし、開発中にネットワーク リクエストやスケジュールされ...