2018年10月25日

平成30年度 技術士第一次試験問題 情報工学部門 V−5

V−5
次の文字列のうち、正規表現 (a*(ab)*|c) *ad* で表すものと
して、最も不適切なものはどれか。ただし、 記号 * は直前の要素の
0回以上の繰り返しを、 記号|は選択を表すものとする。

 @ aaccaadd
 A aabcabad
 B acababadd
 C abacadad
 D aaacaaabaaad



【正解】 C

(a*(ab)*|c) * は、  (a*(ab)*|c) (a*(ab)*|c) (a*(ab)*|c) ・・・
と同じことであるため、これを踏まえる。

@
aaccaaddは、(a*(ab)*|c)(a*(ab)*|c)(a*(ab)*|c)(a*(ab)*|c) ad*
 表現できる。
A
aabcabadは、(a*(ab)*|c)(a*(ab)*|c)(a*(ab)*|c) ad* で表現できる。
B
acababaddは、(a*(ab)*|c)(a*(ab)*|c)(a*(ab)*|c) ad* で表現できる。
C
abacadadは、(a*(ab)*|c)(a*(ab)*|c)(a*(ab)*|c) ad* で、最後のadを
 表現できない。
 問題の正規表現では、dの後にd以外の文字を表すことができない。
D
aaacaaabaaadは、(a*(ab)*|c)(a*(ab)*|c)(a*(ab)*|c)(a*(ab)*|c) ad* で
 表現できる。

EXCELのマクロのご相談なら  ファーストマクロ  



タグ:正規表現
posted by ファーストマクロ at 21:22| Comment(0) | H30技術士一次試験(情報工学)
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: