HSQLDB - Biểu thức chính quy
HSQLDB hỗ trợ một số ký hiệu đặc biệt cho hoạt động khớp mẫu dựa trên biểu thức chính quy và toán tử REGEXP.
Sau đây là bảng mẫu, có thể được sử dụng cùng với toán tử REGEXP.
Mẫu | Mẫu nào phù hợp |
---|---|
^ | Bắt đầu của chuỗi |
$ | Kết thúc chuỗi |
. | Bất kỳ ký tự đơn nào |
[...] | Bất kỳ ký tự nào được liệt kê giữa dấu ngoặc vuông |
[^ ...] | Bất kỳ ký tự nào không được liệt kê giữa dấu ngoặc vuông |
p1 | p2 | p3 | Sự luân phiên; khớp với bất kỳ mẫu p1, p2 hoặc p3 nào |
* | Không hoặc nhiều bản sao của phần tử trước |
+ | Một hoặc nhiều bản sao của phần tử trước |
{n} | n phiên bản của phần tử trước |
{m, n} | m đến n trường hợp của phần tử trước |
Thí dụ
Hãy để chúng tôi thử các truy vấn mẫu khác nhau để đáp ứng yêu cầu của chúng tôi. Hãy xem các truy vấn nhất định sau đây.
Hãy thử Truy vấn này để tìm tất cả các tác giả có tên bắt đầu bằng '^ A'.
SELECT author FROM tcount_tbl WHERE REGEXP_MATCHES(author,'^A.*');
Sau khi thực hiện truy vấn trên, bạn sẽ nhận được kết quả sau.
+-----------------+
| author |
+-----------------+
| Abdul S |
| Ajith kumar |
+-----------------+
Hãy thử Truy vấn này để tìm tất cả các tác giả có tên kết thúc bằng 'ul $'.
SELECT author FROM tcount_tbl WHERE REGEXP_MATCHES(author,'.*ul$');
Sau khi thực hiện truy vấn trên, bạn sẽ nhận được kết quả sau.
+-----------------+
| author |
+-----------------+
| John Poul |
+-----------------+
Hãy thử Truy vấn này để tìm tất cả các tác giả có tên chứa 'th'.
SELECT author FROM tcount_tbl WHERE REGEXP_MATCHES(author,'.*th.*');
Sau khi thực hiện truy vấn trên, bạn sẽ nhận được kết quả sau.
+-----------------+
| author |
+-----------------+
| Ajith kumar |
| Abdul S |
+-----------------+
Hãy thử truy vấn này để tìm tất cả các tác giả có tên bắt đầu bằng nguyên âm (a, e, i, o, u).
SELECT author FROM tcount_tbl WHERE REGEXP_MATCHES(author,'^[AEIOU].*');
Sau khi thực hiện truy vấn trên, bạn sẽ nhận được kết quả sau.
+-----------------+
| author |
+-----------------+
| Abdul S |
| Ajith kumar |
+-----------------+