過去問解説(経営情報システム)_2023年 第2問

難易度・正答率・重要度

  • 難易度:★★☆☆☆(正規表現の適用範囲)
  • 正答率:★★★☆☆(用途の向き不向きで判断可能)
  • 重要度:★★★☆☆(文字列処理の基礎)

問題文

正規表現は、さまざまな文字列を汎用的な形式で表現する方法の1つであり、テキストエディタ、プログラミング言語、検索エンジンなどで利用可能になっている。正規表現の用途に関する記述として、最も不適切なものはどれか。

顧客名簿の電子メールアドレスから@より前の部分(ユーザ名)を取得する。
店舗別売上高一覧から売上高の大きい上位5店舗を抽出する。
文章中の「METI」を「経済産業省」に置き換える。
報告書の「3/31/2023」の形式で表記されている日付を「2023-3-31」の形式に変換する。
領収書に記載するクレジットカード番号の一部を「*」で伏字にする。

出典: 中小企業診断協会|2023年度 第1次試験問題|経営情報システム(PDF)

解答

  • 正解:イ(店舗別売上高一覧から売上高の大きい上位5店舗を抽出する)

解説(選択肢ごとの評価)

  • ア:〇
     メールアドレスのユーザ名抽出は、@の前方をパターンで取得する典型的用途(例:^([^@]+)@)。
  • イ:×
     「上位5店舗」の抽出は数値の大小比較・ソート・集計が必要で、正規表現の役割(文字列のパターン照合・置換)を超える。正規表現は順位付けや数値比較は不得意。
  • ウ:〇
     固定語の置換は正規表現が得意(例:METI経済産業省 に置換、語境界指定や大文字小文字指定も可能)。
  • エ:〇
     日付フォーマットの変換は、グループ化で抽出して並べ替え(例:(\d{1,2})/(\d{1,2})/(\d{4})$3-$1-$2)。
  • オ:〇
     カード番号の一部マスクもパターンで可能(例:先頭・末尾以外を * に置換、(\d{4})\d+(?=\d{4}) など)。

学習のポイント

  • 正規表現の得意分野: 抽出・検証・置換・フォーマット変換などの“文字列パターン処理”。
  • 不得意分野: ソート、ランキング、集計、数値計算はプログラムロジックやDB機能で対応。
  • 組み合わせ設計: 正規表現で抽出→後段で数値処理・ソートという分離が実務では最も堅牢。