Sel"/> Sel">

ホームページ  >  記事  >  データベース  >  MySQL REGEXP 演算子とは何ですか?また、パターン マッチングはどのように処理されますか?

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

WBOY
WBOY転載
2023-09-11 10:29:101331ブラウズ

什么是 MySQL REGEXP 运算符以及它如何处理模式匹配?

#MySQL は、正規表現と REGEXP 演算子に基づく代替パターン マッチング操作をサポートしています。以下は、パターン マッチングを処理するために REGEXP 演算子とともに使用できるパターンの表です。

#角かっこで囲まれた任意の文字#[^...]p1|p2|p3*{n}{m,n} tbody>
パターン

パターンは何に一致しますか

##文字列の開始
$ p>

#文字列の終わり
.

任意の 1 文字
[...]

[...]

# 角括弧内にリストされていない文字

代替; 任意のパターン p1、p2 に一致、または p3

前の要素の 0 個以上のインスタンス

前の要素の 1 つ以上のインスタンス

n 個のインスタンスの前element

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」で終わるすべての名前が検索されます。

以上がMySQL REGEXP 演算子とは何ですか?また、パターン マッチングはどのように処理されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。