HSQLDB - 正則表示式



HSQLDB 支援一些基於正則表示式的模式匹配操作的特殊符號和 REGEXP 運算子。

以下是可與 REGEXP 運算子一起使用的模式表。

模式 模式匹配的內容
^ 字串的開頭
$ 字串的結尾
. 任何單個字元
[...] 方括號之間列出的任何字元
[^...] 方括號之間未列出的任何字元
p1|p2|p3 交替;匹配模式 p1、p2 或 p3 中的任何一個
* 前一個元素的零個或多個例項
+ 前一個元素的一個或多個例項
{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  |
+-----------------+
廣告