繰り返し現れる
を識別する ここまでで、文字または数字を照合する方法はすでにわかりましたが、多くの場合、単語または数字のグループを照合したい場合があります。単語は複数の文字で構成され、数字のグループは複数の単数で構成されます。文字または文字クラスターに続く中括弧 ({}) は、前のコンテンツが繰り返される回数を決定するために使用されます。
文字クラスターの意味
^[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)、リンゴ
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 進数
もちろん、これによって技術的に正規表現の複雑さが軽減されるわけではありませんが、正規表現が読みやすくなります。