正規表現の使い方を覚えよう UNIX/Linux

正規表現の使い方を覚えよう

UNIX/Linux を使いこなすための正規表現

UNIX/Linux を使う、プログラムをエディターで作る人なら「正規表現」の使い方を覚えれば、効率よく作業を進めることができます。

正規表現を使えば、膨大な量の文書から容易に見つけたい文字列を検索、置き換えする事ができます。

正規表現はテキストファイルに含まれる文字列の中で、指定したパターンにマッチする部分があるかどうかを調べます。
完全一致だけではなく、より複雑なパターンにも対応できるようになっています。

正規表現は、viエディタやUNIX/Linuxの grepコマンド、sedコマンドそして多くのPHPやPerlなど多くのプログラミング言語で使うことが出来ます。

正規表現を使った例

Ex1)
WordPressのテーマを編集する時、 function という文字列を探したい時

$ grep function *.php

 
Ex2)
Webサイト内の複数ある記事の全ての「だと思います。」という文字を「と思われます。」に書き換える。

$#/bin/sh
for f in *.html
do
sed -i -e ‘s/だと思います。/と思われます。/g’ $f
done

 
とコマンドを打つと、沢山のhtmlファイルから function という文字列が、どのソースプロラムに書かれているか一瞬で見つけることができます。
Ex3)
正規表現のパターン例 郵便番号をテキストファイルから抜き出す。

宮城県 980-0874 仙台市青葉区角五郎
108-0075 東京都港区
東京都墨田区押上 131-004

という内容の source.txt ファイルの郵便番号を全角にする

$ cat source.txt | sed ‘y/[0123456789]-/[0123456789]ー/’

宮城県 980ー0874 仙台市青葉区角五郎
108ー0075 東京都港区
東京都墨田区押上 131ー004

 

正規表現について書かれたサイト

 

 

正規表現 まとめ

正規表現の使い方を覚えると様々な場面で作業を効率よく行えるようになります。

C言語やperl、PHP言語などの sprintf関数などの関数でも、引数に正規表現を使うとコンパクトなプログラムが書けます。

はじめはメンドウと思うかもしれませんが、正規表現の使い方を覚えて手作業を減らす工夫をしてください。