EN JA
RE_COMP(3)
RE_COMP(3) FreeBSD Library Functions Manual RE_COMP(3)

名称

re_comp, re_exec正規表現ハンドラ

ライブラリ

Compatibility Library (libcompat, -lcompat)

書式

#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 を返します。そうでなければ、エラーメッセージを含む文字列が返されます。 re_comp() は、0 またはヌル文字列が渡されるなら、現在コンパイルされた正規表現を変更せずに返ります。

re_exec() 関数は、文字列 s が最後にコンパイルされた正規表現と一致するなら、1 を返し、文字列 s が、最後にコンパイルされた正規表現の一致に失敗するなら、0 を返し、コンパイルされた正規表現が (内部エラーを示して) 不正であったなら、-1 を返します。

re_comp() と re_exec() の両方に渡された文字列には、後続する改行文字、または埋め込まれた改行文字があってもかまいません。それらは、 ヌル文字 によって終了します。認識される正規表現は、上記の違いを前提として、 ed(1) のためのマニュアルエントリに記述されています。

診断

re_exec() 関数は、内部エラーに対して、-1 を返します。

re_comp() 関数は、“no previous regular expression” (前の正規表現なし)、または regerror(3) によって生成された文字列の 1 つを返します。

歴史

re_comp() と re_exec() 関数は、 4.0BSD で登場しました。
June 4, 1993 FreeBSD