MySQL-正規表現

MySQLのパターンマッチングを見てきました LIKE ...%。MySQLは、正規表現に基づく別のタイプのパターンマッチング操作をサポートしています。REGEXPオペレーター。PHPまたはPERLを知っている場合、このマッチングは正規表現のスクリプトと同じであるため、理解するのは非常に簡単です。

以下は、と一緒に使用できるパターンの表です。 REGEXP オペレーター。

パターン パターンが一致するもの
^ 文字列の始まり
$ 文字列の終わり
任意の1文字
[...] 角括弧の間にリストされている文字
[^ ...] 角括弧の間にリストされていない文字
p1 | p2 | p3 交替; パターンp1、p2、またはp3のいずれかに一致します
* 先行する要素の0個以上のインスタンス
+ 前の要素の1つ以上のインスタンス
{n} 前の要素のn個のインスタンス
{m、n} 前の要素のmからn個のインスタンス

上記の表に基づいて、要件を満たすためにさまざまなタイプのSQLクエリをデバイス化できます。ここでは、理解のためにいくつかリストします。

と呼ばれるテーブルがあると考えてください person_tbl そしてそれは呼ばれるフィールドを持っています name

で始まるすべての名前を検索するためのクエリ 'st'

mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';

で終わるすべての名前を見つけるためにクエリを実行します 'ok'

mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';

を含むすべての名前を見つけるためにクエリを実行します 'mar'

mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';

母音で始まり、で終わるすべての名前を見つけるためにクエリを実行します 'ok'

mysql> SELECT FirstName FROM intque.person_tbl WHERE FirstName REGEXP '^[aeiou].*ok$';