MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQL REGEXP演算子とは何ですか?パターンマッチングをどのように処理しますか?


MySQLは、正規表現と REGEXPに基づく別のタイプのパターンマッチング操作をサポートしています。 オペレーター。以下は、 REGEXPと一緒に使用できるパターンの表です。 パターンマッチングを処理する演算子。

パターン
パターンの一致

^
文字列の先頭
$
文字列の終わり

任意の1文字
[...]
角かっこで囲まれた文字
[^ ...]
角かっこで囲まれていない文字
p1 | p2 | p3
代替;パターンp1、p2、またはp3のいずれかに一致します
*
先行する要素のインスタンスがゼロ以上
+
先行する要素の1つ以上のインスタンス
{n}
先行する要素のn個のインスタンス
{m、n} 前の要素のmからn個のインスタンス


REGEXPの使用法を説明するために、次のデータを持つテーブル「Student_info」を使用しています-

mysql> Select * from Student_info;
+------+---------+------------+------------+
| id   | Name    | Address    | Subject    |
+------+---------+------------+------------+
|  101 | YashPal | Amritsar   | History    |
|  105 | Gaurav  | Chandigarh | Literature |
|  130 | Ram     | Jhansi     | Computers  |
|  132 | Shyam   | Chandigarh | Economics  |
|  133 | Mohan   | Delhi      | Computers  |
+------+---------+------------+------------+
5 rows in set (0.00 sec)

次に、REGEXPを使用して上記の表から「名前」のパターンを見つけるクエリをいくつか示します-

mysql> Select Name from student_info WHERE Name REGEXP '^Y';
+---------+
| Name    |
+---------+
| YashPal |
+---------+
1 row in set (0.11 sec)

上記のクエリでは、「Y」で始まるすべての名前が検索されます。

mysql> Select name from student_info WHERE Name REGEXP 'am$';
+-------+
| name  |
+-------+
| Ram   |
| Shyam |
+-------+
2 rows in set (0.00 sec)

上記のクエリでは、「am」で終わるすべての名前が検索されます。

mysql> Select name from student_info WHERE Name REGEXP 'av';
+--------+
| name   |
+--------+
| Gaurav |
+--------+
1 row in set (0.00 sec)

上記のクエリは、「av」を含むすべての名前を検索します。

mysql> Select name from student_info WHERE Name REGEXP '^[aeiou]|am$';
+-------+
| name  |
+-------+
| Ram   |
| Shyam |
+-------+
2 rows in set (0.00 sec)

上記のクエリでは、母音で始まり「am」で終わるすべての名前が検索されます。


  1. 行を取得する際のMySQLのAND、OR演算子の違いは何ですか?

    AND、ORの違いは、全体的な条件が真になるには、ANDが両方の条件が真でなければならないことを評価することです。 ORは、全体的な条件が真であるためには、1つの条件が真でなければならないと評価します。 テーブルを作成しましょう- mysql> create table demo70 −> ( −> id int not null auto_increment primary key, −> name varchar(20), −> age int −> ); Query OK, 0 rows a

  2. C#7.0のパターンマッチングとは何ですか?

    C#7.0では、is式とswitchstatementの2つのケースでパターンマッチングが導入されています。 パターンは、値が特定の形状を持っていることをテストし、一致する形状を持っている場合、値から情報を抽出できます。 パターンマッチングは、アルゴリズムのより簡潔な構文を提供します 独自のデータ型を含め、任意のデータ型でパターンマッチングを実行できますが、if / elseの場合は、常にプリミティブを一致させる必要があります。 パターンマッチングにより、式から値を抽出できます。 パターンマッチングの前 − 例 public class PI{    publi