In MySQL is de RLIKE operator wordt gebruikt om te bepalen of een tekenreeks al dan niet overeenkomt met een reguliere expressie. Het is een synoniem voor REGEXP_LIKE() .
Als de tekenreeks overeenkomt met de opgegeven reguliere expressie, is het resultaat 1 , anders is het 0 .
Syntaxis
De syntaxis gaat als volgt:
expr RLIKE pat
Waar expr is de invoerreeks en pat is de reguliere expressie waarvoor u de string test.
Voorbeeld
Hier is een voorbeeld van het gebruik van deze operator in een SELECT verklaring:
SELECT 'Tweet' REGEXP '^Tw.*t$';
Resultaat:
+--------------------------+ | 'Tweet' REGEXP '^Tw.*t$' | +--------------------------+ | 1 | +--------------------------+
In dit geval is de retourwaarde 1 wat betekent dat de invoerreeks overeenkomt met de reguliere expressie. In het bijzonder hebben we gespecificeerd dat de invoerreeks moet beginnen met Tw en eindig met t (dit komt omdat we het patroon zijn begonnen met ^Tw en eindigde met t$ ). De . part specificeert een willekeurig teken, en * specificeert dat het nul kan zijn tot een willekeurig aantal van dat (elke) teken. Dus .* betekent dat er geen tekens, één teken of veel tekens tussen het begin en het einde mogen staan.
Dit is wat er gebeurt als we de * . weglaten :
SELECT 'Tweet' REGEXP '^Tw.t$';
Resultaat:
+-------------------------+ | 'Tweet' REGEXP '^Tw.t$' | +-------------------------+ | 0 | +-------------------------+
Het resultaat is 0 wat betekent dat er geen match is. Dit komt omdat . specificeert slechts één instantie van een willekeurig teken. Onze invoerreeks bevat twee instanties.
Hier zijn enkele permutaties:
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';
Resultaat:
+------+------+-----+------+ | Twet | Twit | Twt | Tw.t | +------+------+-----+------+ | 1 | 1 | 0 | 1 | +------+------+-----+------+
Meer voorbeelden
Zie MySQL REGEXP-voorbeelden voor meer voorbeelden. Like RLIKE , de REGEXP operator is ook een synoniem voor REGEXP_LIKE() .