窓辺の小石 第48回 Nova Expression
拡大する(全1枚)
最近は、エディタの検索や置換でも正規表現(Regular Expression)が使えるのが当たり前になっている。正規表現は、便利な検索機能という見方もあるが、正規表現は「言語」で、ソフトウェア開発を大きく変えた技術の1つだ。

プログラムで文字列の処理などを行うとき、正規表現を使えるかどうかで効率が大きく違い、またソフトウェアの書き方も異なってくる。筆者がコンピュータを使い始めた1970年台、BASIC言語の文字列処理は、いまから考えるとひどく原始的なものだった。Excelの数式による文字列処理は、いまでも当時のままだ。もちろん便利な関数は増えたが考え方は同じ、Xは何文字目から始まるかを探す、文字列の前半、後半、中間部分を取り出す、文字列をつなげる、といった機能を使って文字列を処理していく。イメージ的には、テープの切り貼りみたいな感じの作業だ(わかるかなぁ)。固定したパターンの処理はなんとかなるが、たとえば「日付のように見える」部分を取り出すとなるとかなり面倒な処理になる。そうなると、日付は「YYYY/MM/DD」のパターンのみ対応、といった安易なプログラムになりがちだ。

正規表現は、UNIXとともにやってきた。1980年前半、日本国内でもバークレー版と呼ばれるBSD UNIXが利用可能になり、80年台後半に国産UNIXワークステーションが多数登場すると、正規表現を使ってファイルを検索する、あるいはエディタの検索置換条件の指定など、通常のコンピュータの操作で正規表現を普通に使えるようになった。