次のような2つの文字列がある。
aabbbcddd
addccee
この両方を表す正規表現ではないものを次の中から選べ。ただし、*は0回以上の繰り返し、|は選択を表す記号とする。
① a*b*c*d*c*e*
② a*b*d*c*d*e*
③ a*(b|d)*c*(d|e)*
④ a*(b|d|c)*(c|d|e)*
⑤ a*(b*|d*|c*)(c*|d*|e*)
⑤
① a*b*c*d*c*e* によって aabbbcddd が表現でき、
a*b*c*d*c*e* によって addccee が表現できる。
② a*b*d*c*d*e* によって aabbbcddd が表現でき、
a*b*d*c*d*e* によって addccee が表現できる。
③ a*(b|d)*c*(d|e)* によって aabbbcddd が表現でき、
a*(b|d)*c*(d|e)* によって addccee が表現できる。
④ (b|d|c)* は、(b|d|c)(b|d|c)(b|d|c)・・・と等価で、bbbc や、ddcc などの表現ができる。
⑤ 正しい。(b*|d*|c*) は、 bbb や ccc の表現ができるが bbbc のような表現はできない。
Ⅳ-6 | 目次 | Ⅳ-8 |