令和元年度 秋期 ITパスポート試験 問99
テクノロジ/ソフトウェアワイルドカードに関する次の記述中のa,bに入れる字句の適切な組合せはどれか。 任意の1文字を表す“?”と,長さゼロ以上の任意の文字列を表す“*”を使った文字列の検索について考える。 a では,“データ”を含む全ての文字列が該当する。また, b では,“データ”で終わる全ての文字列が該当する。 (選択肢は,aとbに入れる字句の組合せを示す。)
出典:令和元年度 秋期 ITパスポート試験 問99
- アa:?データ*,b:?データ
- イa:?データ*,b:*データ
- ウa:*データ*,b:?データ
- エa:*データ*,b:*データ
正解:エ
解説
“*”は長さ0以上の任意の文字列に一致します。“データ”を含む全ての文字列は,前後に任意の文字列(長さ0を含む)が付いた“*データ*”で表せます。“データ”で終わる全ての文字列は,前だけに任意の文字列が付いた“*データ”です。“?”は必ず1文字を表すので,前に文字がない“データ”や,2文字以上前に付く文字列には一致しません。
選択肢ごとの解説
- ア誤り。“?データ*”は“データ”の前にちょうど1文字ある場合に限るので,“データ”だけの文字列などが該当しません。
- イ誤り。aの“?データ*”は,前に1文字必要なので,“データ”を含む全ての文字列には該当しません。
- ウ誤り。bの“?データ”は,前に1文字必要なので,“データ”で終わる全ての文字列にはなりません。
- エ正しい。“*データ*”は“データ”を含む全ての文字列,“*データ”は“データ”で終わる全ての文字列に該当します。