アルファベット {a, b} 上の正規表現 (ab)*a が表す言語に含まれる文字列はどれか。
選択肢をタップすると、その場で答え合わせできます
正解と解説を見る
正解 Daba
解説
正解は「aba」です。(ab)* は ab を0回以上繰り返した文字列(空列、ab、abab、…)を表し、その後に a が1つ続くので、この正規表現は a、aba、ababa、… を表します。aba は ab を1回繰り返した後に a が続く形です。「abab」は ab の繰返しだけで終わり、最後の a がありません。「ba」は b で始まっていますが、この言語の文字列はどれも a で始まります。「aab」は末尾が b なので、(ab)*a の形になりません。正規表現では、* が直前の要素(ここでは括弧でまとめた ab)の0回以上の繰返しを表すことに注意しましょう。
- #正規表現
この調子でオートマトン・形式言語・計算理論を続けて解く
▶ この科目の連続演習へ進む(10問)