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