過去問解きまくり研究所 ホーム

平成28年度 春期 午前 問3

情報に関する理論

正規表現に関する問題

UNIX における正規表現 [A−Z] + [0−9] * が表現する文字列の集合の要素となるものはどれか。ここで,正規表現は次の規則に従う。

答えと解説を見る

✓ これが正解エABCDEF

解説

大文字6文字+数字0文字なので正規表現に合います。

正規表現の中でプラス記号やアスタリスクは、直前の要素の繰返しを表す特別な記号として働きます。プラス記号は1回以上の繰返し、アスタリスクは0回以上の繰返しを指します。設問の正規表現は大文字を1回以上並べたあとに、数字を0回以上並べたものです。ここで注意が必要なのは、アスタリスクが0回以上を許すという点で、数字の部分は空でもよい形になります。判定の軸は、頭に大文字が1つ以上並んでいて、そのあとに数字だけがある、または何も無いかどうかです。プラス記号やアスタリスク自体が文字として現れることは、この正規表現では表現されておらず、それらを含む文字列はもとの集合の要素にはなりません。ここで扱っているのはメタ文字を持つ正規表現による集合の定義です。

ほかの選択肢はなぜ違うのか

出典:平成28年度 春期 基本情報技術者試験 午前 問3

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)