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 |
+-----------------+