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() .