HSQLDB - นิพจน์ทั่วไป

HSQLDB สนับสนุนสัญลักษณ์พิเศษบางอย่างสำหรับการดำเนินการจับคู่รูปแบบตามนิพจน์ทั่วไปและตัวดำเนินการ REGEXP

ต่อไปนี้เป็นตารางรูปแบบซึ่งสามารถใช้ร่วมกับตัวดำเนินการ REGEXP ได้

รูปแบบ สิ่งที่รูปแบบตรงกัน
^ จุดเริ่มต้นของสตริง
$ สิ้นสุดสตริง
. อักขระเดี่ยวใด ๆ
[... ] อักขระใด ๆ ที่อยู่ระหว่างวงเล็บเหลี่ยม
[^ ... ] อักขระใด ๆ ที่ไม่อยู่ระหว่างวงเล็บเหลี่ยม
p1 | p2 | p3 การสลับ; จับคู่รูปแบบ p1, p2 หรือ p3 ใด ๆ
* ไม่มีอินสแตนซ์ขององค์ประกอบก่อนหน้าหรือมากกว่านั้น
+ อย่างน้อยหนึ่งอินสแตนซ์ขององค์ประกอบก่อนหน้า
{n} n อินสแตนซ์ขององค์ประกอบก่อนหน้า
{ม., 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  |
+-----------------+