平成28年度 春期 基本情報技術者試験 午前 問3
テクノロジ/基礎理論UNIXにおける正規表現 [A-Z]+[0-9]* が表現する文字列の集合の要素となるものはどれか。ここで,正規表現は次の規則に従う。 [A-Z]は,大文字の英字1文字を表す。 [0-9]は,数字1文字を表す。 +は,直前の正規表現の1回以上の繰返しであることを表す。 *は,直前の正規表現の0回以上の繰返しであることを表す。
出典:平成28年度 春期 基本情報技術者試験 午前 問3
- ア456789
- イABC+99
- ウABC99*
- エABCDEF
正解:エ
解説
正規表現[A-Z]+[0-9]*は,大文字の英字が1文字以上連続した後に,数字が0文字以上(あってもなくてもよい)続く文字列を表します。したがって,数字が1文字もない,大文字だけから成る文字列もこの条件を満たします。
選択肢ごとの解説
- ア誤り。全て数字であり,先頭に大文字の英字が1文字もないため,[A-Z]+の条件を満たしません。
- イ誤り。“+”は本来繰返しを表すメタ文字であり,文字列中に記号としての“+”を含める表現にはなりません。
- ウ誤り。文字列中に記号としての“*”を含んでおり,この正規表現ではリテラルの“*”を表せません。
- エ正しい。大文字の英字が6文字連続しており,数字が0個でも[0-9]*(0回以上の繰返し)の条件を満たすため該当します。