ホームページ > php教程 > php手册 > MySql での正規表現の使用の説明

MySql での正規表現の使用の説明

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-13 12:27:36
オリジナル
934 人が閲覧しました


正規表現は文字列のルールを定義します。最も単純な正規表現には予約語が含まれません。たとえば、正規表現 hello は文字列「hello」にのみ一致します。
一般的な正規表現は特定の特別な構造を使用するため、より多くの文字列に一致します。たとえば、正規表現 hello|word は、文字列「hello」と文字列「word」の両方に一致します。より複雑な例を挙げると、正規表現 b[an]*s は、文字列「bananas」、「baaaaas」、「bs」、および b で始まり s で終わるその他の文字列と一致し、任意の数の文字を含めることができます。中央には a と任意の数の n の組み合わせ。

正規表現では次の予約語を使用できます。
^
一致する文字列は次の文字列で始まります。
mysql> select "fonfo" regexp "^fo$" ; ; 0 (一致しないことを示します)
mysql> select "fofo" regexp "^fo" -> 1 (一致することを示します)
$
一致した文字列は最後の文字列です
mysql>; select "fono" regexp "^fono$"; -> 1 (一致を示す)
mysql> select "fono" regexp "^fo$";
🎜>任意の文字に一致 (改行を含む)
mysql> select "fofo" regexp "^f.*" -> 1 (一致を示します)
mysql> select "fonfo" regexp "^f. *"; -> 1 (一致を示す)
a*
任意の数の a (空の文字列を含む) と一致
mysql>select "ban" regexp "^ba*n"; -> 1 (一致を示します)
mysql> select "baaan" regexp "^ba*n" -> 1 (一致を示します)
mysql> select "bn" regexp "^ba*n"; ; 1 (一致を示します)
a
任意の数の a に一致します (空の文字列を除く)
mysql> select "ban" regexp "^ba n";
mysql> select "bn" regexp "^ba n"; -> 0 (一致しないことを意味します)
a
mysql> select "bn" regexp ^ba?n" ; -> 1 (一致を示します)
mysql> select "ban" regexp "^ba?n"; n"; -> 0 (一致しないことを意味します)
de|abc
de または abc に一致
mysql>gt; select "pi" regexp "pi|apa"; ->1 (一致することを意味します)
mysql> select "axe" regexp "pi|apa"; -> 0 (一致しないことを示します)
mysql> select "apa" regexp "pi|apa"; >mysql> select "apa" regexp "^(pi|apa)$"; -> 1 (一致することを示します)
select "pi" regexp "^(pi|apa)$"; (一致を示します)
mysql> select "pix" regexp "^(pi|apa)$" -> 0 (不一致を示します)
(abc)*
任意の数値 abc (を含む) に一致します空の文字列)
mysql> select "pi" regexp "^(pi)*$" -> 1 (一致を示します)
mysql> select "pi" regexp "^(pi)*$"; > 0 (一致しないことを示す)
mysql> select "pipi" regexp "^(pi)*$" -> 1 (一致することを示す)
{1}
{2, 3}
これは、以前のいくつかの予約語の機能を実現できる、より包括的な方法です。
a*
は、a{0,} として書くことができます。
a
は、{ 1 として書くことができます,}
a?
は、{0,1} として記述できます。
{} には整数パラメーター i が 1 つだけあります。これは、文字が i 回のみ出現できることを意味します。 {} の i に「,」が続く場合は、その文字が i 回以上出現できることを示します。{} 内に整数パラメータ i が 1 つだけあり、その後に「,」が続き、整数パラメータ j が続きます。 、これは、キャラクターが i 回以上 j 回未満 (i 回と j 回を含む) しか出現できないことを示します。整数パラメータは 0 以上、re_dup_max (デフォルトは 255) 以下である必要があります。パラメータが 2 つある場合、2 番目のパラメータは最初のパラメータ以上でなければなりません
[a-dx]
「a」、「b」、「c」、「d」、または「x」と一致します
[ ^a-dx]
「a」、「b」、「c」、「d」、「x」を除く任意の文字と一致します。「[」、「]」はペアで使用する必要があります。
mysql> select "axbc" regexp "[a-dxyz]" -> 1 (一致することを示します)
mysql> select "axbc" regexp "; [ a-dxyz]$"; -> 0 (一致しないことを示す)
mysql> select "axbc" regexp "^[a-dxyz] $"; -> 1 (一致することを示す)
mysql> select "axbc" regexp "^[^a-dxyz] $"; -> 0 (一致しないことを示します)
mysql> select "gheis" regexp "^[^a-dxyz] $"; ( 一致を示します)
mysql> select "gheisa" regexp "^[^a-dxyz] $" -> 0 (不一致を示します)
----------- -----------------------------------------------
[ [.characters.]]
は比較要素の順序を表します。括弧内の文字の順序は一意です。ただし、括弧内にワイルドカードを含めることができるため、より多くの文字と一致することができます。たとえば、正規表現 [[.ch.]]*c は chchcc の最初の 5 文字と一致します。
[=character_class=]
は等しいクラスを表し、それ自体を含むクラス内の他の等しい要素を置き換えることができます。たとえば、o と ( ) が同じクラスのメンバーである場合、[[=o=]]、[[=( )=]]、および [o( )] は完全に等価です。
[:character_class:]
括弧内、[: と :] の間には文字クラスの名前があり、このクラスに属するすべての文字を表すことができます。
文字クラスの名前は、alnum、digit、punct、alpha、graph、space、blank、 lower、upper、cntrl、print、xdigit です。
mysql> select "justalnums" regexp "[[:alnum:] ] "; -> 1 (一致を示す)
mysql> select "!!" regexp "[[:alnum:]] "; -> 0 (不一致を示す)
[[::] ]
単語の先頭と末尾にある空の文字列と一致します。単語の先頭も末尾も alnum に含まれる文字ではなく、アンダースコアでもありません。
mysql> select "a word a" regexp "[[::]]" -> 1 (一致を示します)
mysql> select "a xword a" regexp "[[::]]"; -> 0 (一致しないことを示します)
mysql> select "weeknights" 正規表現 "^(wee|week)(knights|nights)$"; -> 1 (一致することを示します)

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