Opensource.comは5月18日(米国時間)、「Getting started with regular expressions|Opensource.com」において、正規表現の基本的な使い方を紹介した。Linuxに限らずmacOSやFreeBSDなどUNIX系オペレーティングシステムでは、多くのコマンドが正規表現に対応している。すべてのOSで共通の正規表現を利用できるわけではないが、基本的な正規表現表記は同一であることが多い。

紹介されている主な正規表現は次のとおり。

文字 繰り返し指定 サンプル
0またはそれ以上 ab∗ - aやab、abb、abbbなど
+ 1またはそれ以上 ab+ - abやabb、abbbなど
? 0または1 ab? - aまたはab
{n} n ab{2} - abb
{n,} n以上 ab{2,} - abbやabbb、abbbbなど
{n,y} n以上y以下 ab{1,3} – ab、abb、abbb
文字 意味 文字 意味
^ 行頭 $ 行末
[a-z] 小文字アルファベット [A-Z] 大文字アルファベット
[0-9] 数字
. 任意1文字
\s 空白 \S 空白以外
\w 文字 \W 文字以外
\d 数字 \D 数字以外

記事ではシェルにおけるグラブ表記、Viにおける検索、sedによる置換などにおいて利用する方法を紹介している。Viでは、コマンドモードで「/」または「?」を入力することで、後方検索や前方検索が行える。

  • Vimで正規表現を使った検索の実行例

    Vimで正規表現を使った検索の実行例

UNIX系のコマンドを使う際は、正規表現を使いこなせるかどうかが作業効率に大きく影響を及ぼす。記事で紹介されている基本的な正規表現を利用するだけでも、さまざまな作業の自由度が向上するはずだ。