アルゴリズムとプログラミング
平成28年度 春期 基本情報技術者試験 午前 問3
UNIX における正規表現 [A-Z]+[0-9]* が表現する文字列の集合の要素となるものはどれか。ここで,正規表現は次の規則に従う。
[A-Z] は,大文字の英字 1 文字を表す。
[0-9] は,数字 1 文字を表す。
+は,直前の正規表現の 1 回以上の繰返しであることを表す。
*は,直前の正規表現の 0 回以上の繰返しであることを表す。
答えを選ぶ
出典:平成28年度 春期 基本情報技術者試験 午前 問3(問題文は IPA の公開問題。解説は当サイト作成)
答えと解説を見る
正解:エ
覚える知識
正規表現の記法と文字列集合の判定
正規表現で+は直前の1回以上の繰返し、*は0回以上の繰返しを表す。
この問題で必要なこと
[A-Z]+は大文字1回以上、[0-9]*は数字0回以上の繰返しなので、大文字だけのABCDEFが該当する。
ひっかけ
+や*を文字そのものとして含む選択肢(イ・ウ)や、数字のみの列(ア)を混同させる。
この知識の出題:本試験系 1 回・免除試験 5 回(公開問題での観測値)