HSQLDB-正規表現

HSQLDBは​​、正規表現とREGEXP演算子に基づくパターンマッチング操作のためのいくつかの特別なシンボルをサポートしています。

以下は、REGEXP演算子と一緒に使用できるパターンの表です。

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

要件を満たすために、さまざまなクエリ例を試してみましょう。次のクエリを見てください。

このクエリを試して、名前が「^ A」で始まるすべての作成者を見つけてください。

SELECT author FROM tcount_tbl WHERE REGEXP_MATCHES(author,'^A.*');

上記のクエリを実行すると、次の出力が表示されます。

+-----------------+
|     author      |
+-----------------+
|     Abdul S     |
|    Ajith kumar  |
+-----------------+

このクエリを試して、名前が「ul $」で終わるすべての作成者を見つけてください。

SELECT author FROM tcount_tbl WHERE REGEXP_MATCHES(author,'.*ul$');

上記のクエリを実行すると、次の出力が表示されます。

+-----------------+
|     author      |
+-----------------+
|    John Poul    |
+-----------------+

このクエリを試して、名前に「th」が含まれているすべての作成者を検索してください。

SELECT author FROM tcount_tbl WHERE REGEXP_MATCHES(author,'.*th.*');

上記のクエリを実行すると、次の出力が表示されます。

+-----------------+
|     author      |
+-----------------+
|    Ajith kumar  | 
|     Abdul S     |
+-----------------+

このクエリを試して、名前が母音(a、e、i、o、u)で始まるすべての著者を見つけてください。

SELECT author FROM tcount_tbl WHERE REGEXP_MATCHES(author,'^[AEIOU].*');

上記のクエリを実行すると、次の出力が表示されます。

+-----------------+
|     author      |
+-----------------+
|     Abdul S     |
|    Ajith kumar  |
+-----------------+