RE_COMP(3)

名称
re_comp, re_exec - 定型数式ハンドラ

書式
#include <unistd.h> char * re_comp(const char *s) int re_exec(const char *s)

解説
このインタフェースは、 regex(3) に置き換わりました。互換性ライブラリ libcompat から使用できます。

re_comp() 関数は、パターンマッチングに合う内部形式にストリングをコンパイルします。 re_exec() 関数は、 re_comp() に渡された最後のストリングと引数ストリングを照合します。

re_comp() 関数は、ストリング s が問題なくコンパイルされると 0を戻します。問題が発生した場合は、エラー メッセージを含むストリングが戻されます。0 か null ストリングが渡された re_comp() は、現在コンパイルされている定型数式を変更せずに戻ります。

re_exec() 関数は、最後にコンパイルされた定型数式とストリング s が一致すると 1を戻します。最後にコンパイルされた定型数式とストリング s が一致しない場合は 0を戻します。コンパイルされた定型数式が正しくない場 合は -1 を戻します(内部エラー)。

re_comp() と re_exec() の両方に渡すストリングには、最後に改行キャラクタが付いていたり、改行キャ ラクタが埋め込まれていたりすることがありますが、これらは NULL で終了されます。認識される定型数式については、上記のような違いがありま すが、 ed(1) のマニュアルエントリを参照してください。

診断
re_exec() 関数は、内部エラーが発生した場合、-1 を戻します。

re_comp() 関数は、エラーが発生した場合、以下のストリングのうち 1つを戻します。

    No previous regular expression,
    Regular expression too long,
    nmatched \(,
    missing ],
    too many \(\) pairs,
    unmatched \).

関連項目
ed(1), egrep(1), ex(1), fgrep(1), grep(1), regex(3)

歴史
re_comp() 関数と re_exec() 関数は、 4.0BSD に追加されました。