7. 選択
指定した複数パターンのいずれか1つにマッチします。メタ文字は|です。各パターンは|によって区切られます。論理和とも呼ばれます。
下記は、文字列ABCもしくは文字列XYZのいずれかを検索する正規表現です。
ABC|XYZ

もう1つサンプルです。文字列ABもしくは文字列CDもしくは文字列EFのいずれかを検索する正規表現です。
AB|CD|EF

ちなみに、1文字同士の選択は、文字クラスに変形できます。
A|C|E|G|XXX
[ACEG]|XXX
8. 量指定子
直前のパターンにマッチする回数を指定します。メタ文字は*と+と?です。それぞれ、下記の回数のマッチをします。
*直前のパターンに0回以上マッチ+直前のパターンに1回以上マッチ?直前のパターンに0回か1回マッチ
*の使い方のサンプルです。A*はAに0回以上マッチします。
^A*BCD$

+の使い方のサンプルです。A+はAに1回以上マッチします。
^A+BCD$

?の使い方のサンプルです。A?はAに0回か1回マッチします。
^A?BCD$

9. 量指定子(範囲指定繰り返し制御)
直前のパターンにマッチする回数を指定します。メタ文字は{と}です。先ほどの量指定子の*と+と?と似ています。それぞれ、下記の回数のマッチを行います。
{n}直前のパターンにn回マッチ(nは0以上の整数){n,}直前のパターンにn回以上マッチ(nは0以上の整数){n,m}直前のパターンにn回以上m回以下のマッチ(nは0以上の整数、mはn以上の整数)
となります。
*直前のパターンに0回以上マッチ+直前のパターンに1回以上マッチ?直前のパターンに0回か1回マッチ
ですので、A*はA{0,}と同じ意味、A+はA{1,}と同じ意味、A?はA{0,1}と同じ意味となります。
{n}の使い方のサンプルです。A{2}はAに2回マッチします。
^A{2}BCD$

{n,}の使い方のサンプルです。A{2,}はAに2回以上マッチします。
^A{2,}BCD$

{n,m}の使い方のサンプルです。A{2,4}はAに2回以上4回以下のマッチをします。
^A{2,4}BCD$

