ホームページ > データベース > mysql チュートリアル > mysql での正規表現を使用した検索と一致に関するチュートリアル (2)

mysql での正規表現を使用した検索と一致に関するチュートリアル (2)

巴扎黑
リリース: 2017-05-04 17:28:28
オリジナル
2031 人が閲覧しました

または一致

2 つの文字列 (この文字列または他の文字列のいずれか) のいずれかを検索するには、以下に示すように | を使用します:

入力:

select prod_name from products where prod_name regexp '1000|2000' order by prod_name;
ログイン後にコピー

出力:

mysql での正規表現を使用した検索と一致に関するチュートリアル (2)

分析:ステートメントでは正規表現 1000|2000 が使用されています。 | は正規表現の or 演算子です。どちらかに一致すると書かれているので、1000 と 2000 の両方が一致して返されます。

| の使用は、select ステートメントでの or ステートメントの使用と機能的に似ています。複数の or 条件を 1 つの正規表現に結合できます。

注: 2 つ以上の or 条件を指定できます。たとえば、「1000|2000|3000」は 1000、2000、または 3000 に一致します。

は複数の文字の 1 つと一致します。

は任意の 1 文字と一致します。しかし、特定の文字のみを一致させたい場合はどうすればよいでしょうか?

これは、以下に示すように、[and] で囲まれた一連の文字を定式化することで実行できます:

入力: select prod_name from products where prod_name regexp '[123] Ton' order by prod_name;

出力:

mysql での正規表現を使用した検索と一致に関するチュートリアル (2)

分析: ここでは、正規表現 [123]Ton が使用されています。 [123] は、1、2、または 3 の一致を意味する文字のセットを定義します。したがって、1ton と 2ton の両方が一致して返されます (3ton はありません)。

ご覧のとおり、[] は or ステートメントの別の形式です。実際、正規表現 [123]Ton は [1|2|3]Ton の略称であり、後者も使用できます。ただし、[] は or ステートメントが何を探しているのかを定義するために必要です。これをよりよく理解するには、次の例を参照してください。

入力:

select prod_name from products where prod_name regexp '1|2|3 Ton‘ order by prod_name;
ログイン後にコピー

出力:

mysql での正規表現を使用した検索と一致に関するチュートリアル (2)

分析: これは予期された出力ではありません。要求された 2 つの行は取得されましたが、さらに 3 つの行が取得されました。その理由は、MySQL が「1」、「2」、または「3ton」を意味すると想定しているためです。文字 | がセットに展開されない限り、文字列全体に適用されます。

文字セットは否定することもできます。つまり、指定された文字以外のすべてに一致します。文字セットを無効にするには、文字セットの先頭に ^ を置きます。したがって、[123] は文字 1、2、または 3 に一致しますが、[^123] はそれらの文字以外の文字に一致します。


一致範囲

コレクションを使用して、一致する1つ以上の文字を定義できます。たとえば、ラインとポリゴンのコレクションは 0 ~ 9 の数字に一致します:

[123456789]

このタイプのコレクションを簡素化するには、 - を使用して範囲を定義します。次の式は、上記の数値リストと機能的に同等です:

[0-9]

範囲は完全なセットに限定されず、[1-3] と [6-9] も有効な範囲です。さらに、範囲は数値のみである必要はなく、[a-z] は任意のアルファベット文字に一致します。

例:

入力:

select prod_name from products where prod_name regexp '[1-5] Ton’ order by prod_name;
ログイン後にコピー

出力:

mysql での正規表現を使用した検索と一致に関するチュートリアル (2)

分析: ここでは正規表現 [1-5]Ton が使用されます。 [1-5] は範囲を定義します。この式は 1 ~ 5 に一致することを意味するため、一致する 3 行が返されます。 5ton が一致するため、.5ton が返されます。

【関連する推奨事項】

1. mysql での正規表現を使用した検索と一致のチュートリアル

2.

MySQL の無料オンライン ビデオ チュートリアル

3. 2016 年の最新の MySQL 基本ビデオ チュートリアル

4.m

ysqlで正規表現を使用した検索と一致のチュートリアル (3)

以上がmysql での正規表現を使用した検索と一致に関するチュートリアル (2)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート