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