RE_COMP(3)

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

ライブラリ
libcompat

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

解説
このインタフェースは、 regex(3) に置き換えられました。

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

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

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

re_comp() と re_exec() の両方に渡すストリングには、最後に改行文字が付いていたり、改行文字 が埋め込まれていたりすることがありますが、これらは NUL で終端されます。 認識される定型数式については、上記のような違いがありますが、 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 に追加されました。