HSQLDB - Reguläre Ausdrücke
HSQLDB unterstützt einige spezielle Symbole für Mustervergleichsoperationen, die auf regulären Ausdrücken und dem REGEXP-Operator basieren.
Es folgt die Mustertabelle, die zusammen mit dem REGEXP-Operator verwendet werden kann.
Muster | Was das Muster passt |
---|---|
^ | Anfang der Saite |
$ | Ende der Zeichenfolge |
. | Beliebiges einzelnes Zeichen |
[...] | Jedes Zeichen in eckigen Klammern |
[^ ...] | Alle Zeichen, die nicht in eckigen Klammern aufgeführt sind |
p1 | p2 | p3 | Wechsel; stimmt mit einem der Muster p1, p2 oder p3 überein |
* * | Null oder mehr Instanzen des vorhergehenden Elements |
+ | Eine oder mehrere Instanzen des vorhergehenden Elements |
{n} | n Instanzen des vorhergehenden Elements |
{m, n} | m bis n Instanzen des vorhergehenden Elements |
Beispiel
Lassen Sie uns verschiedene Beispielabfragen ausprobieren, um unsere Anforderungen zu erfüllen. Schauen Sie sich die folgenden Fragen an.
Versuchen Sie diese Abfrage, um alle Autoren zu finden, deren Name mit '^ A' beginnt.
SELECT author FROM tcount_tbl WHERE REGEXP_MATCHES(author,'^A.*');
Nach Ausführung der obigen Abfrage erhalten Sie die folgende Ausgabe.
+-----------------+
| author |
+-----------------+
| Abdul S |
| Ajith kumar |
+-----------------+
Versuchen Sie diese Abfrage, um alle Autoren zu finden, deren Name mit 'ul $' endet.
SELECT author FROM tcount_tbl WHERE REGEXP_MATCHES(author,'.*ul$');
Nach Ausführung der obigen Abfrage erhalten Sie die folgende Ausgabe.
+-----------------+
| author |
+-----------------+
| John Poul |
+-----------------+
Versuchen Sie diese Abfrage, um alle Autoren zu finden, deren Name 'th' enthält.
SELECT author FROM tcount_tbl WHERE REGEXP_MATCHES(author,'.*th.*');
Nach Ausführung der obigen Abfrage erhalten Sie die folgende Ausgabe.
+-----------------+
| author |
+-----------------+
| Ajith kumar |
| Abdul S |
+-----------------+
Versuchen Sie diese Abfrage, um alle Autoren zu finden, deren Name mit Vokal beginnt (a, e, i, o, u).
SELECT author FROM tcount_tbl WHERE REGEXP_MATCHES(author,'^[AEIOU].*');
Nach Ausführung der obigen Abfrage erhalten Sie die folgende Ausgabe.
+-----------------+
| author |
+-----------------+
| Abdul S |
| Ajith kumar |
+-----------------+