RE_COMP(3) | FreeBSD Library Functions Manual | RE_COMP(3) |
名称
re_comp, re_exec — 正規表現ハンドラライブラリ
Compatibility Library (libcompat, -lcompat)解説
このインタフェースは、
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 |