平成30年度 春期 ITパスポート試験 問85
テクノロジ/ソフトウェアワイルドカードを使って“*A*.te??”の表現で文字列を検索するとき,①〜④の文字列のうち,検索条件に一致するものだけを全て挙げたものはどれか。ここで,ワイルドカードの“?”は任意の1文字を表し,“*”は0個以上の任意の文字から成る文字列を表す。 ① A.text ② AA.tex ③ B.Atex ④ BA.Btext
出典:平成30年度 春期 ITパスポート試験 問85
- ア①
- イ①, ②
- ウ②, ③, ④
- エ③, ④
正解:ア
解説
“*A*.te??”は,「任意の文字列,A,任意の文字列,“.te”,任意の2文字」の順に並ぶ文字列を表します。①“A.text”は,“A”の前後の*が空の文字列で,“.te”の後に“xt”の2文字が続くので一致します。②“AA.tex”は“.te”の後が“x”の1文字しかなく,2文字に足りないので不一致です。③“B.Atex”は“.te”が含まれず(“.At”になる),不一致です。④“BA.Btext”は“A”の後の“.”の直後が“B”で“.te”にならず,不一致です。よって①だけです。
選択肢ごとの解説
- ア正しい。①は“*”が空の文字列,“A”,“.te”,“xt”の2文字の順で条件に一致します。
- イ誤り。②“AA.tex”は“.te”の後に1文字(x)しかなく,“??”の2文字に足りないので一致しません。
- ウ誤り。②,③,④はいずれも一致しません。②は末尾の文字数が足りず,③と④は“.te”の並びを含みません。
- エ誤り。③“B.Atex”と④“BA.Btext”は“.te”の並びがなく一致しません。