HOMEサンプル問題・例題解説101試験の例題と解説103.7 正規表現を使用してテキストファイルを検索する

101試験の例題と解説

103.7正規表現を使用してテキストファイルを検索する

今回は、101試験の出題範囲から「103.7 正規表現を使用してテキストファイルを検索する」についての例題を解いてみます。

■例題
行の先頭が 2009 で始まる行を検索する正規表現として正しいものを選びなさい。

  1. >2009
  2. ^2009
  3. 2009$
  4. 2009*
  5. 2009?

※この例題は実際のLinuC試験とは異なります。

解答と解説

答えは 2. ^2009 です。

正規表現では、文字列にマッチさせるために様々なメタ文字を使用します。たとえば、以下のようなメタ文字があります。

.:任意の文字にマッチ
^:行頭の文字にマッチ
$:行末の文字にマッチ
[ ]:括弧内の文字にマッチ
[^ ]:括弧内の文字以外の文字にマッチ

たとえば例題では、行頭に日付が入っているテキストファイルから2009年の情報を取り出すことを想定しています。もしgrepコマンドを使って実行するのであれば、以下のように実行します。

○grepコマンド実行例(1)
$ grep ^2009 log_file

行末がerrorで終わるテキストファイルであれば、以下のようになります。

○grepコマンド実行例(2)
$ grep error$ log_file

正規表現ではメタ文字は特別な意味を持つので、メタ文字そのものを通常の文字として扱うにはエスケープを行う必要があります。エスケープにはバックスラッシュ(フォント設定によっては円マーク)をエスケープしたい文字の前に置きます。

○.そのものを文字として扱う場合
?.

正規表現は大量のログデータなどを扱う上で非常に便利な機能ですので、基本的な使い方をしっかりと把握しておきましょう。

  • 今回の解説について、理解できないポイントがあればどんどん質問を。
  • 採用になった方にはLPI-Japanオリジナルの記念品を贈呈します。
  • ご質問・ご意見はこちら
  • ※上記の解説とその内容については、例題作成者の監修です。
    内容や試験問題に関わるお問い合わせにつきましては、LPI-Japan事務局ではお応えできませんのでご了解ください。

このページのトップへ