I MySQL, RLIKE
operatorn används för att avgöra om en sträng matchar ett reguljärt uttryck eller inte. Det är en synonym för REGEXP_LIKE()
.
Om strängen matchar det angivna reguljära uttrycket blir resultatet 1
, annars är det 0
.
Syntax
Syntaxen ser ut så här:
expr RLIKE pat
Där expr
är inmatningssträngen och pat
är det reguljära uttrycket som du testar strängen mot.
Exempel
Här är ett exempel på hur du använder den här operatorn i en SELECT
uttalande:
SELECT 'Tweet' REGEXP '^Tw.*t$';
Resultat:
+--------------------------+ | 'Tweet' REGEXP '^Tw.*t$' | +--------------------------+ | 1 | +--------------------------+
I det här fallet är returvärdet 1
vilket betyder att inmatningssträngen matchade det reguljära uttrycket. Speciellt specificerade vi att inmatningssträngen skulle börja med Tw och avsluta med t (detta beror på att vi startade mönstret med ^Tw
och avslutade det med t$
). .
del anger vilket tecken som helst och *
anger att det kan vara noll till valfritt tal av det (vilket som helst) tecken. Alltså .*
betyder att det inte kan finnas några tecken, ett tecken eller många tecken mellan början och slutet.
Här är vad som händer om vi släpper *
:
SELECT 'Tweet' REGEXP '^Tw.t$';
Resultat:
+-------------------------+ | 'Tweet' REGEXP '^Tw.t$' | +-------------------------+ | 0 | +-------------------------+
Returresultatet är 0
vilket betyder ingen match. Detta beror på att .
anger endast en instans av ett tecken. Vår indatasträng innehåller två instanser.
Här är några permutationer:
SELECT 'Twet' REGEXP '^Tw.t$' AS 'Twet', 'Twit' REGEXP '^Tw.t$' AS 'Twit', 'Twt' REGEXP '^Tw.t$' AS 'Twt', 'Tw.t' REGEXP '^Tw.t$' AS 'Tw.t';
Resultat:
+------+------+-----+------+ | Twet | Twit | Twt | Tw.t | +------+------+-----+------+ | 1 | 1 | 0 | 1 | +------+------+-----+------+
Fler exempel
För fler exempel, se MySQL REGEXP-exempel. Gilla RLIKE
, REGEXP
operator är också en synonym för REGEXP_LIKE()
.