正規表現
基本的な仕様はPOSIX 1003.2 ("POSIX.2")に基づいており、
BRE
や
ERE
ではメタ文字などの仕様が定義されている。この正規表現の仕様をさらに拡張したものが
PCRE
などの
正規表現の方言
になっていて、
正規表現のキャプチャ
などの仕様を定義する。
つまり、正規表現の仕様は処理系によって全く異なる。また、あるアプリが正規表現をサポートしているからといって、どのバージョンの正規表現を使用しているかについては注意する必要がある。実際、
csplit
などのコマンドでは、
BRE
しかサポートしていないし、
grep(1)
では処理系を切り替えるオプションが搭載されている。この仕様については、
RobertElderSoftware
による
解説
もある。
Comparison of regular expression engines