本文へスキップ

令和元年度 秋期 ITパスポート試験 問99

この問題の解説と、これまでの解答の記録です。

問99
頻出度★★☆

ワイルドカードに関する次の記述中の a,b に入れる字句の適切な組合せはどれか。 任意の1文字を表す“?”と,長さゼロ以上の任意の文字列を表す“*”を使った文字列の検索について考える。[ a ] では,“データ”を含む全ての文字列が該当する。また,[ b ] では,“データ”で終わる全ての文字列が該当する。

出典 令和元年度 秋期 ITパスポート試験 問99
解説

問 99

  • 不正解ア

    a が「?データ*」で、「?」は必ず1文字を要求するため「データ」単独や「データ」で始まる文字列が該当せず「含む」を満たさない。b も「?データ」で「データ」単独や2文字以上を前に持つ語が該当せず「で終わる」を満たさない。

  • 不正解イ

    b の「*データ」は正しいが、a が「?データ*」であり「?」が直前に1文字を強制するため「データ」単独や「データ」始まりの文字列が漏れ、「データを含む全て」を表現できない。

  • 不正解ウ

    a の「*データ*」は正しいが、b が「?データ」であり「?」が直前1文字を強制するため「データ」単独や前に2文字以上ある語が該当せず、「データで終わる全て」を表現できない。

  • エ

    正解 ワイルドカードは「?」が任意の1文字ちょうど、「*」が長さゼロ以上の任意の文字列を表す。空欄 a は「データ」を含む全ての文字列なので、前後に何が来てもよい(何も無くてもよい)ように前後を「*」で挟んだ「*データ*」が正しい。これなら「データ」単独・「Xデータ」・「データY」・「XデータY」の全てが該当する。空欄 b は「データ」で終わる全ての文字列なので、前だけを「*」にして末尾に「データ」を固定した「*データ」が正しく、「データ」単独や「Xデータ」が該当する。この組合せは a:「*データ*」, b:「*データ」となり、選択肢エが正解である。

ここがポイント
  • ワイルドカードの基本: 「?」は任意の1文字ちょうど、「*」は長さゼロ以上の任意の文字列(ゼロ文字も可)を表す。
  • 「含む」は語の前後を「*」で挟み、「〜で終わる」は前だけ「*」+末尾に語を固定する、という組み立て方の違いを押さえる。
用語

解答の記録