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