1. 正規表現 (Regular Expressions)

正規表現(regex)は、パターンに基づいたテキスト選択のための強力なツールです。それを理解することは、Linux でのテキスト操作を習得するための基本です。Linux を学ぶためのアプリは数多くありますが、regular expression linuxのようなコアコンセプトに飛び込むことが、Linux 上級者への最も速い道です。これらは、*のようなワイルドカードと似た特殊な表記法を使用します。

ここでは、ほぼすべてのプログラミング言語で共通している、最も一般的な regex 演算子を探ります。例として、次のテキストを使用します。

sally sells seashells
by the seashore

行の先頭へのアンカリング

キャレット^記号は行の先頭に一致します。これにより、パターンが先頭にのみ出現することが保証されます。

^by

このパターンは、「by the seashore」という行には一致しますが、「sally sells seashells」には一致しません。

行の末尾へのアンカリング

ドル記号$は行の末尾に一致します。これは^アンカーの対になるものです。

seashore$

このパターンは、「by the seashore」が行が「seashore」で終わるため一致します。

任意の 1 文字の一致

ピリオド.は任意の 1 文字に一致するワイルドカードです。

b.

私たちの例では、これは「by」に一致します。

文字セットのためのブラケットの使用

ブラケット[]を使用すると、一致させる文字のセットを指定できます。これにより、.ワイルドカードよりも詳細な制御が可能になります。

s[ae]lls

これは「sells」に一致し、「salls」にも一致します。

また、ブラケットを使用して、一致させないものを指定することもできます。キャレット^がブラケット内の最初の文字である場合、セットを否定し、リストされている文字以外の任意の文字に一致します。

s[^e]lls

これは「salls」には一致しますが、「sells」には一致しません。

最後に、ブラケットは範囲をサポートしており、多数の文字セットを効率的に定義できます。

d[a-c]g

このパターンは、「dag」、「dbg」、および「dcg」に一致します。範囲は大文字と小文字を区別することに注意してください。例えば、[a-c]AB、またはCには一致しません。

これらの演算子を学ぶことは、Linux コマンドラインの効率を学ぶための最良の方法の 1 つです。

ログインして学習進捗を保存

サインイン

演習

知識を実践に移しましょう。正規表現とパターンマッチングの理解を深めるための実践的なラボをいくつか紹介します。

  1. Linux での grep を使用したテキスト検索 - このラボでは、grepコマンドを使用して Linux システム上のファイル内のテキストを検索する方法を学びます。基本的な検索の実行、行番号の表示、^$などのアンカーを使用した行位置の一致、および複雑なパターンマッチングのための基本および拡張正規表現の活用を行います。
  2. テキスト処理と正規表現 - 強力なテキスト処理ツールである grep、sed、awk を学びます。Linux で効率的なテキスト操作とパターンマッチングのために正規表現を使用する方法を学びます。
  3. メールアドレスと数字の抽出 - このチャレンジでは、grep と正規表現を使用してファイルから E メールアドレスと数字を抽出する方法を学び、Linux の基本的なテキスト処理スキルを実証します。

これらのラボは、実際のシナリオで概念を適用し、正規表現とテキスト処理に対する自信を築くのに役立ちます。

クイズ

任意の 1 文字に一致させるために使用する正規表現は何ですか?