MySQLでは、NOT REGEXP
REGEXP
の否定です オペレーター。
つまり、文字列が指定された正規表現と一致する場合、結果は0
になります。 、それ以外の場合は1
。これは、REGEXP
の結果とは逆の結果です。 返されます(接頭辞がNOT
でない場合 。
構文
構文は次のようになります:
expr NOT REGEXP pat
expr
入力文字列であり、pat
文字列をテストする正規表現です。
これは、次のことを行うのと同じです:
NOT (expr REGEXP pat)
例1-基本的な使用法
これをSELECT
で使用する方法の例を次に示します。 ステートメント:
SELECT 'Bread' NOT REGEXP '^Br' AS 'Result';
結果:
+--------+ | Result | +--------+ | 0 | +--------+
ここで、入力文字列がBr
で始まる場合、パターンは一致します。 。ありますが、NOT REGEXP
を使用しているためです 、否定的な結果が得られます(0
。
上記のステートメントは、これを行うのと同じです:
SELECT NOT ('Bread' REGEXP '^Br') AS 'Result';
結果:
+--------+ | Result | +--------+ | 0 | +--------+
例2–REGEXPとの比較
明確にするために、ここではREGEXP
の結果を比較します。 およびNOT REGEXP
:
SELECT 'Bread' REGEXP '^Br' AS 'REGEXP', 'Bread' NOT REGEXP '^Br' AS 'NOT REGEXP';
結果:
+--------+------------+ | REGEXP | NOT REGEXP | +--------+------------+ | 1 | 0 | +--------+------------+
例3–肯定的な結果
前の例では、0
になりました。 NOT REGEXP
の場合 、文字列 did 実際にパターンに一致します。 1
を取得する例を次に示します。 、これは、文字列がないことを示します。 一致:
SELECT 'Sofa' REGEXP '^Br' AS 'REGEXP', 'Sofa' NOT REGEXP '^Br' AS 'NOT REGEXP';
結果:
+--------+------------+ | REGEXP | NOT REGEXP | +--------+------------+ | 0 | 1 | +--------+------------+