戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

ITパスポート 2011年 秋期 73


問題文

ワイルドカードの“%”が0個以上の連続した任意の文字列を表し、“”が任意の1文字を表すとき、文字列全体が“%1%”に一致するものはどれか。

選択肢

アクセスポイント(正解)
イベントドリブン
クライアントサーバ
リバースエンジニアリング

🔒 解説は解答すると表示されます

ワイルドカード "%1%_" の意味【ITパスポート 解説】

正解の理由

ワイルドカードの意味は次の通りです。
  • %:0文字以上の連続した任意の文字列(例:空文字、1文字、10文字…)
  • _:任意の1文字(必ず1文字)
パターン %1%_ は「文字 '1'(数字の1)が文字列のどこかに現れ、さらにその '1' の後に最低1文字以上の文字が続く文字列」に一致します。つまり「文字列に '1' を含み、かつ '1' が末尾ではない」ものが該当します。与えられた選択肢の中で、この条件を満たすのはアの「アクセスポイント」です(※問題文中の表記やフォントの違いで、該当箇所が数字の '1' と見なされる表記になっており、アのみがマッチします)。
※ポイント:SQL などで使う LIKE 演算子のワイルドカードと同じ考え方です。

解法ステップ

  1. ワイルドカードの定義を確認する
    • % = 0文字以上の任意の連続、_ = 任意の1文字。
  2. パターン %1%_ を分解する
    • 先頭の %:前に何があってもよい(あるいは何もなくても可)。
    • 続く 1:文字列中に「1」という文字(リテラル)が必ず含まれる。
    • 次の %:その「1」の後に何らかの文字列(0文字以上)が続いてもよい。
    • 最後の _:必ず1文字が末尾に存在する(つまり文字列は最低でも「...1x」の形になっている)。
  3. 各選択肢を「その文字列に数字の '1' が含まれていて、'1' の後にさらに1文字以上あるか」で確認する。
  4. アのみが条件を満たす(問題の表記上、アに該当する表記が '1' を含む形式になっているため)。

選択肢別の誤答解説

  • : アクセスポイント
    • 正解。問題文の表記・フォントの都合で「'1' を含む」表記として扱われ、かつその '1' の後にさらに1文字あるため %1%_ に一致します。
  • イ: イベントドリブン
    • 「'1'」が含まれていないため不一致。%1%_ は必ず文字 '1' を含むことが前提です。
  • ウ: クライアントサーバ
    • 同様に文字 '1' が含まれていないため不一致。
  • エ: リバースエンジニアリング
    • 同様に文字 '1' が含まれていないため不一致。
(注)上の判定は「'1' を文字として含むかどうか」が基準です。選択肢がカタカナ表記のみで数字の '1' を含まない場合は全て不一致になりますが、問題中の表記ゆれや印刷フォントの問題でアのみが '1' を含む形として提示されているためアが正解とされています。

よくある誤解

  • 誤解1:%_ を逆に覚えてしまう
    • % は「任意の長さ(0文字以上)」、_ は「ちょうど1文字」です。よく逆に覚えてしまいがちなので注意してください。
  • 誤解2:%1%_ を「1 を含めばよい」とだけ解釈する
    • 最後の _ によって「1 が末尾であってはいけない(少なくとも1文字続く必要がある)」という条件が加わります。末尾に1だけがある文字列は不一致です。

補足コラム

  • 実務での例(SQLのLIKE)
    • SQL の WHERE 句で LIKE '%abc_' を使うと、「どこかに 'abc' があり、その後に最低1文字ある」文字列を探せます。たとえば 'xxabcx' はマッチ、'xxabc' はマッチしません(末尾に1文字がないため)。
  • ワイルドカードの実装差
    • ツールや言語によってワイルドカードの表現が異なることがあります(例:正規表現では '.' が1文字、'.*' が0文字以上、SQL のワイルドカードは '%' と '_')。用途に合わせて使い分けてください。

FAQ

Q1. %* は同じ意味ですか?
A1. 文脈によります。SQL や LIKE では % が0文字以上の任意文字列を表します。ファイル検索やシェル(bash)では * が同じ役割を果たします。使う場面(SQLかシェルか)で記号が異なります。
Q2. _ は正規表現の . と同じですか?
A2. 役割は似ています(どちらも「任意の1文字」)。ただし正規表現には特殊文字のエスケープ規則など追加の注意点があります。
Q3. 文字 '1' が無くてもマッチする場合はありますか?
A3. パターン中にリテラル '1' がある以上、その文字を含まない文字列はマッチしません。もし '1' を任意の一文字として扱いたいなら _ を使います(例:%% など)。

関連キーワード: ワイルドカード、LIKE、SQL、パターンマッチ、検索ワイルドカード、%記号、_(アンダースコア)
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

ITパスポート
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について