ホームページ >バックエンド開発 >PHPチュートリアル >PHP の正規表現 (2)_PHP チュートリアル
再発決定
文字または数字を照合する方法はすでに理解しましたが、多くの場合、単語または数字のグループを照合したい場合があります。単語は複数の文字で構成され、数字のグループは複数の単数で構成されます。文字または文字クラスターに続く中括弧 ({}) は、前のコンテンツが繰り返される回数を決定するために使用されます。
文字クラスターの意味
^[a-zA-Z_]$ すべての文字とアンダースコア
^[[:alpha:]]{3}$ すべての 3 文字の単語
^a$ 文字 a
^a{4}$ ああ
^a{2,4}$ aa、aaa または aaaa
^a{1,3}$ a、aa または aaa
^a{2,}$ 2 つ以上の a を含む文字列
^a{2,} など: ツチブタと aaab、ただし apple ではない
a{2,} 例: baad と aaa、ただしナンタケット島ではありません
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]*.?[0-9]*$ //すべて 10 進数
もちろん、これによって技術的に正規表現の複雑さが軽減されるわけではありませんが、正規表現が読みやすくなります。