I MySQL er RLIKE
operator bruges til at bestemme, om en streng matcher et regulært udtryk. Det er et synonym for REGEXP_LIKE()
.
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' REGEXP '^Tw.*t$';
Resultat:
+--------------------------+ | 'Tweet' REGEXP '^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' REGEXP '^Tw.t$';
Resultat:
+-------------------------+ | 'Tweet' REGEXP '^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' 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 | +------+------+-----+------+
Flere eksempler
For flere eksempler, se MySQL REGEXP Eksempler. Ligesom RLIKE
, REGEXP
operator er også et synonym for REGEXP_LIKE()
.