I MariaDB er RLIKE
operator bruges til at bestemme, om en streng matcher et regulært udtryk. Det er et synonym for REGEXP
.
Hvis strengen matcher det angivne regulære udtryk, er resultatet 1
, ellers er det 0
.
Syntaks
Syntaksen ser sådan ud:
expr RLIKE pat
Hvor expr
er inputstrengen og pat
er det regulære udtryk, som du tester strengen for.
Eksempel
Her er et eksempel på, hvordan du bruger denne operator i en SELECT
erklæring:
SELECT 'Tweet' RLIKE '^Tw.*t$';
Resultat:
+-------------------------+ | 'Tweet' RLIKE '^Tw.*t$' | +-------------------------+ | 1 | +-------------------------+
I dette tilfælde er returværdien 1
hvilket betyder, at inputstrengen matchede det regulære udtryk. Vi specificerede især, at inputstrengen skulle starte med Tw og afslutte med t (det er fordi vi startede mønsteret med ^Tw
og afsluttede det med t$
). *
angiver, at det kan være nul til et hvilket som helst tal af det (enhver) tegn. Så .*
betyder, at der ikke kan være tegn, ét tegn eller mange tegn mellem start og slut.
Her er, hvad der sker, hvis vi dropper *
:
SELECT 'Tweet' RLIKE '^Tw.t$';
Resultat:
+------------------------+ | 'Tweet' RLIKE '^Tw.t$' | +------------------------+ | 0 | +------------------------+
Returresultatet er 0
hvilket betyder ingen match. Dette er fordi .
angiver kun én forekomst af ethvert tegn. Vores inputstreng indeholder to forekomster.
Her er nogle permutationer:
SELECT
'Twet' RLIKE '^Tw.t$' AS "Twet",
'Twit' RLIKE '^Tw.t$' AS "Twit",
'Twt' RLIKE '^Tw.t$' AS "Twt",
'Tw.t' RLIKE '^Tw.t$' AS "Tw.t";
Resultat:
+------+------+-----+------+ | Twet | Twit | Twt | Tw.t | +------+------+-----+------+ | 1 | 1 | 0 | 1 | +------+------+-----+------+