正規表現の種類(歴史)

「プログラミング」及び「開発」関連用語集

カテゴリー: 正規表現  閲覧数:336 配信日:2018-05-11 09:59


POSIX


Portable Operating System Interface
・オペレーティングシステム (OS) 間での移植性を確保するために、1986年に発表された広範囲にわたる標準規格
・あくまでもUNIXにおける標準。それ以外に何らかの影響を与えるものではない
※POSIXによる標準化の範囲外の処理系では、POSIXに定義されている正規表現よりもっと強力な正規表現が利用可能

POSIX準拠プログラム
・下記何れかをサポートする

正規表現を2つに分類
・基本正規表現
・拡張正規表現(ERE)

基本正規表現(BRE / Basic Regular Expressions)
・sed、grep、vi、ed

拡張正規表現(ERE / extended regular expression)
・「拡張」という名前がついているが、基本正規表現の完全な上位互換ではない
・awk、egrep

Perl


汎用スクリプト言語として初めて
・正規表現を演算子として持っていた
・正規表現はPerlによって多くのプログラマに広められた

Perl1
・1987年12月リリース
・正規表現エンジンとして、「Larry Wall」が以前作成していたニュースリーダー rnのコードを借用していた

Perl2
・1988年6月リリース
・以前の正規表現パッケージを削除
・Henry Spencer のパッケージを大幅に拡張したバージョンを使用

Perl3
・1989年10月リリース
・「/e修飾子」を追加

Per4
・1991年3月リリース
・文字クラス内で\Dなどを使用できるようになった

Perl5
・1994年10月リリース
・先読み機能などを追加

"Perl互換"の正規表現パッケージが幾つも作成された
・しかし、それぞれの言語で導入された正規表現はあくまでも「Perlっぽい」ものであり、完全なPerlの正規表現ではなかった。互換性の程度は様々だった

PCRE


Perl Compatible Regular Expressions
・Perl 5 互換の正規表現をC言語で実装したライブラリ
・Perlの正規表現と互換性のある正規表現を他の言語でも実現するために作られたライブラリ
・多くのプログラミング言語やツールがPCREを採用

1997年
・Philip HazelがC言語で書いた正規表現パッケージを開発