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