expr REGEXP pat

expr REGEXP pat, expr RLIKE pat

パターン pat に対して、ストリングの式 expr のパターン照合を行います。このパターンは拡張正規表現にもなりえます。正規表現の構文については、項11.3.2. 「正規表現」 で説明されています。exprpat と一致する場合は 1 を戻し、それ以外では 0 を戻します。expr もしくは pat のどちらかが NULL である場合、結果は NULL になります。RLIKE は、mSQL との互換性のために用意された、REGEXP のシノニムです。

パターンはリテラル ストリングである必要があります。例えば、文字列式、またはテーブル カラムとして指定するのでもかまいません。

注記 :MySQL は C エスケープ構文をストリングで使用するため ( 例えば、‘\n’ で改行文字を表現 ) 、REGEXP ストリングで使用する ‘\’ はすべて二重にする必要があります。

REGEXP は、バイナリ ストリングと使用する場合以外では、大文字小文字の区別をしません。

mysql> SELECT 'Monty!' REGEXP 'm%y%%';
        -> 0
mysql> SELECT 'Monty!' REGEXP '.*';
        -> 1
mysql> SELECT 'new*\n*line' REGEXP 'new\\*.\\*line';
        -> 1
mysql> SELECT 'a' REGEXP 'A', 'a' REGEXP BINARY 'A';
        -> 1  0
mysql> SELECT 'a' REGEXP '^[a-d]';
        -> 1

REGEXP および RLIKE は、文字のタイプを決定する際に、現行の文字セットを使用します。デフォルトは latin1 ( cp1252 West European ) です。注意 : これらの演算子はマルチバイトでは安全ではありません。