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 のバグの解決方法
<TH> タグは、テーブル内のヘッダーのプロパティを設定するために使用されます。以下の...
この記事の例では、検証コードを作成して取得するためのjsキャンバスの具体的なコードを共有しています。...
1. docker-maven-pluginの紹介私たちの継続的インテグレーションプロセスでは、プロ...
この記事では、カルーセルチャートの小さなケースを実装するためのJSの具体的なコードを参考までに共有し...
この記事では、gearman+mysql メソッドを使用して永続化操作を実装します。ご参考までに、詳...
この記事では、主に HTML + CSS を使用してテキストの折りたたみ特殊効果を実現する例を紹介し...
目次データベースにインデックスが必要なのはなぜですか?インデックスが B+Tree データ構造を使用...
Element-UI に慣れた開発者なら、無限スクロールの InfiniteScroll が使いにく...
MySQL は、SQL 解析とクエリ最適化のプロセスを通じて SQL を実行します。パーサーは SQ...
最近、CSS3 アニメーションのソース コードの実装をいくつか見ていたところ、CSS コード アニメ...
目次序文1. 需要と効果必要効果2. コードの実装index.vue(html)日付方法テスト結果3...
1. ホストMacbookにHOSTをセットアップする前回のドキュメントでは仮想マシンの静的 IP ...
問題点: docker run に -v パラメータを追加すると、コンテナは常に再起動状態になります...
目次1. Javascript とは何ですか? 2. DOMとは何か3. JSコードの実行方法4. ...
CSS スタイル html,本文{ 幅: 100%; 高さ: 100%; マージン: 0;パディング...