ホームページ  >  記事  >  データベース  >  mysql の regexp_like() 関数の分析例

mysql の regexp_like() 関数の分析例

藏色散人
藏色散人オリジナル
2019-04-15 11:52:4424164ブラウズ

MySQL では、REGEXP_LIKE() 関数を使用して、文字列が正規表現に一致するかどうかを判断します。

文字列が指定された正規表現と一致する場合、関数は 1 を返し、一致しない場合は 0 を返します。

構文:

REGEXP_LIKE(expr, pat[, match_type])

ここで、expr は入力文字列、pat はテスト文字列の正規表現です。

オプションの match_type パラメータを使用すると、正規表現を調整できます。

たとえば、match_type を使用して、大文字と小文字を区別する一致かどうかを指定できます。

regexp_like() 例 1 - 基本的な使用法

以下は基本的な例です:

SELECT REGEXP_LIKE('Cat', '.*') Result;

結果:

+--------+
| Result |
+--------+
|      1 |
+--------+

この場合、正規表現は任意のシーケンス内の任意の文字を指定しているため、当然のことながら一致します。この関数は一致を示す 1 を返します。

regexp_like() 例 2 - 一致なし

次は、入力文字列が正規表現と一致しない例です。

SELECT REGEXP_LIKE('Cat', 'b+') Result;

結果:

+--------+
| Result |
+--------+
|      0 |
+--------+

この場合、正規表現は、任意のシーケンス内に 1 つ以上の b 文字が存在する必要があることを指定します。入力文字列にはこの文字が含まれていないため、0 が返されます。

regexp_like() 例 3 - 文字列の先頭と一致する

次は、文字列が特定の文字で始まる必要があることを指定する正規表現の例です。

SELECT REGEXP_LIKE('Cat', '^Ca') Result;

結果:

+--------+
| Result |
+--------+
|      1 |
+--------+

一致しない場合の動作:

SELECT REGEXP_LIKE('Cat', '^Da') Result;

結果:

+--------+
| Result |
+--------+
|      0 |
+--------+

regexp_like( ) 例 4 - match_type パラメータ

追加のパラメータを指定して、一致タイプを決定できます。これにより、一致で大文字と小文字を区別するかどうか、行末文字を含めるかどうかなどを指定できます。

以下は、大文字と小文字を区別するマッチングと大文字と小文字を区別するマッチングを指定する例です:

SELECT 
  REGEXP_LIKE('Cat', '^ca', 'c') 'Case-Sensitive',
  REGEXP_LIKE('Cat', '^ca', 'i') 'Case-Insensitive';

Result:

+----------------+------------------+
| Case-Sensitive | Case-Insensitive |
+----------------+------------------+
|              0 |                1 |
+----------------+------------------+

match_type パラメーターには次の文字を含めることができます。 :

c: 大文字と小文字を区別したマッチング。

i: 大文字と小文字に関係なく一致します。

m: 複数行モード。文字列内の行末記号を識別します。デフォルトの動作では、文字列式の先頭と末尾でのみ行終了文字と一致します。

n: . 文字は行終了文字と一致します。デフォルト設定は です。 は行末で停止するように一致します。

u: Unix のみの行末。 .^、および $ 一致演算子では、改行文字のみが行終了文字として認識されます。

関連する推奨事項: 「mysql チュートリアル

以上がmysql の regexp_like() 関数の分析例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。