ホームページ >バックエンド開発 >PHPチュートリアル >PHP の正規表現 (2)_PHP チュートリアル
繰り返しを特定する
ここまでで、文字または数字を照合する方法はすでに理解しましたが、多くの場合、単語または数字のグループを照合する必要があるかもしれません。単語は複数の文字で構成され、数字のグループは複数の単数で構成されます。文字または文字クラスターに続く中括弧 ({}) は、前のコンテンツが繰り返される回数を決定するために使用されます。
文字クラスターの意味
^[a-zA-Z_]$ すべての文字とアンダースコア
^[[:alpha:]]{3}$ すべての 3 文字の単語
^a$ 文字 a
^a{ 4}$ aaaa
^a{2,4}$ aa,aaa または aaaa
^a{1,3}$ a,aa または aaa
^a{2,}$ 2 つ以上の a を含む文字列
^a{2, } 例: ツチブタと aaab (ただし、apple
a{2,} は除く) 例: baad と aaa (ただし、Nantucket は除く)
t{2} 2 つのタブ文字
.{2} すべて 2 文字
これらの例は、3 つの異なる文字を説明しています。中括弧の使用。数値 {x} は、「前の文字または文字クラスターが x 回のみ出現する」ことを意味し、数値とコンマ {x,} は、「前のコンテンツが x 回以上出現する」ことを意味します。 ,y} は、「前のコンテンツが少なくとも x 回表示されますが、y 回を超えない」ことを意味します。パターンをさらに多くの単語や数字に拡張できます:
^[a-zA-Z0-9_]{1,}$ //複数の文字、数字、またはアンダースコアを含むすべての文字列
^[0- 9]{1 ,}$ //すべての正の数
^-{0,1}[0-9]{1,}$ //すべての整数
^-{0,1}[0-9]{ 0,}.{0 ,1}[0-9]{0,}$ //すべて 10 進数
最後の例は理解しにくいですよね。このように見てください。すべてがオプションの負符号 (-{0,1}) (^) で始まり、その後に 0 個以上の数字 ([0-9]{0,})、およびオプションの小数点 A が続きます。 (.{0,1}) の後に 0 個以上の数字 ([0-9]{0,}) が続き、それ以外は何もありません ($)。以下では、使用できるより簡単な方法について説明します。
特殊文字「?」は {0,1} に等しく、両方とも「0 または 1 つの前のコンテンツ」または「前のコンテンツはオプション」を表します。したがって、今の例は次のように簡略化できます:
^-?[0-9]{0,}.?[0-9]{0,}$
特殊文字 "*" は {0, }, これらはすべて「0 個以上の以前のコンテンツ」を表します。最後に、文字「+」は {1,} に等しく、これは「1 つ以上の前のコンテンツ」を意味するため、上記の 4 つの例は次のように書くことができます:
^[a-zA-Z0-9_]+$ / /複数の文字、数字、またはアンダースコアを含むすべての文字列
^[0-9]+$ //すべての正の数値
^-?[0-9]+$ //すべての整数
^-? *.?[0-9]*$ //すべて 10 進数
もちろん、これによって技術的に正規表現の複雑さが軽減されるわけではありませんが、正規表現が読みやすくなります。