MySQLでは、 RLIKE
演算子は、文字列が正規表現に一致するかどうかを判断するために使用されます。これはREGEXP_LIKE()
の同義語です 。
文字列が指定された正規表現と一致する場合、結果は 1
になります。 、それ以外の場合は 0
。
構文
構文は次のようになります:
expr RLIKE pat
expr
入力文字列であり、 pat
文字列をテストする正規表現です。
例
SELECT
でこの演算子を使用する方法の例を次に示します。 ステートメント:
SELECT 'Tweet' REGEXP '^Tw.*t$';
結果:
+--------------------------+ | 'Tweet' REGEXP '^Tw.*t$' | +--------------------------+ | 1 | +--------------------------+
この場合、戻り値は 1
です。 これは、入力文字列が正規表現と一致したことを意味します。特に、入力文字列は Twで始まるように指定しました tで終わります (これは、パターンを ^ Tw
で開始したためです。 t $
で終了しました )。 。コード> partは任意の文字を指定し、
*
その(任意の)文字の任意の数に対してゼロになる可能性があることを指定します。つまり、。*
開始と終了の間に文字がない、1文字、または多くの文字が存在できないことを意味します。
*
を削除するとどうなりますか :
SELECT 'Tweet' REGEXP '^Tw.t$';
結果:
+-------------------------+ | 'Tweet' REGEXP '^Tw.t$' | +-------------------------+ | 0 | +-------------------------+
返される結果は0
です。 これは一致しないことを意味します。これは、。
が原因です。 任意の文字のインスタンスを1つだけ指定します。入力文字列には2つのインスタンスが含まれています。
ここにいくつかの順列があります:
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';
結果:
+------+------+-----+------+ | Twet | Twit | Twt | Tw.t | +------+------+-----+------+ | 1 | 1 | 0 | 1 | +------+------+-----+------+
その他の例
その他の例については、MySQLREGEXPの例を参照してください。 RLIKE
のように 、 REGEXP
演算子はREGEXP_LIKE()
の同義語でもあります 。