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 | +--------+------------+