基本情報技術者
テクノロジ系
正規表現で「.*」の意味として適切なものはどれか。
1.
ピリオドのみにマッチする
2.
任意の1文字にマッチする
3.
任意の0文字以上の文字列にマッチする
✓ 正解
4.
英数字のみにマッチする
📝 解説
正規表現は文字列のパターンを表現する記法で、「.」(ドット)は改行を除く任意の1文字にマッチし、「*」(アスタリスク)は直前のパターンの0回以上の繰り返しにマッチします。組み合わせた「.*」は「任意の文字(.)が0回以上繰り返す(*)」つまり空文字列を含む任意の文字列全体にマッチします。図書館の目録検索に例えると、「東京.*観光」と検索すると「東京の観光」「東京おすすめ観光スポット」「東京2024観光ガイド」などすべてにマッチする「ワイルドカード検索」のイメージです。正規表現はテキストエディタの検索・置換・プログラミングでの文字列処理・Webフォームのバリデーション・ログ解析・grep/sed/awk等のUnixコマンドに広く活用されています。よく使うパターンとして「^」(行頭)・「$」(行末)・「[a-z]」(文字クラス)・「\d」(数字)・「+」(1回以上)・「?」(0または1回)・「{n,m}」(n〜m回)なども覚えると便利です。誤答の「ピリオドのみにマッチ」はリテラルの「\.」でエスケープが必要、「任意の1文字にマッチ」は「.」のみの説明で「*」の効果が入っていない、「英数字のみにマッチ」は文字クラス[a-zA-Z0-9]+などのパターンです。「.*=任意の文字が0回以上=何でもあり・空文字もOK」と覚えましょう!