修了試験 2013-01-27実施分 基本情報技術者試験 問4
UNIXにおける正規表現[A-Z]+[0-9]*が表現する文字列の集合の要素となるものはどれか。 ここで,正規表現は次の規則に従う。 [A-Z]は,英字1文字を表す。 [0-9]は,数字1文字を表す。 +は,直前の正規表現の1回以上の繰返しであることを表す。 *は,直前の正規表現の0回以上の繰返しを表す。
正答4
解説
正解は4です。 [A-Z]+は英字1文字以上の並び、[0-9]*は数字0文字以上の並びを表します。 したがってこの正規表現は、英字が1文字以上続き、その後に数字が0文字以上続く文字列を表します。 +や*は繰返しを表す記号であり、文字列の中に記号として現れるわけではありません。 【選択肢別解説】 1:× 456789は数字だけで、先頭に英字が1文字もありません。 [A-Z]+は英字が1回以上必要なので、条件を満たしません。 2:× ABC+99には、英字でも数字でもない「+」という文字が含まれています。 正規表現の+は繰返しの指定であり、文字としての+には一致しません。 3:× ABC99*には、末尾に「*」という文字が含まれています。 *も繰返しの指定であり、文字としての*は表現される集合に入りません。 4:○ ABCDEFは英字が6文字続き、その後の数字が0文字の文字列です。 [0-9]*は0回の繰返しも許すので、この文字列は集合の要素になります。 【ポイント】 +は「1回以上」、*は「0回以上」の繰返しです。 *は0回を許すので、数字が無い文字列も一致するという点がよく問われます。まとめて解く
修了試験 2013-01-27実施分を通しで解く(80問)→