Provided by: manpages-ja-dev_0.5.0.0.20060115-1_all bug

POSIX REGEXル
       regcomp()            は、正規表現をコンパイルして、           regexec()
       での検索処理に適合する形態にする。

       regcomp()        はパターンを飢韻垢襯丱奪侫,悗離櫂ぅ鵐         preg、
       ヌル文字で終端された文字列                                      regex、
       そしてコンパイルの形式を決めるためのフラグ cflag を引数に伴う。

       全ての正規表現検索は、コンパイルされたパターンによって行わなければならない。
       よって、        regexec()        に指定するのは、必ず        (regcomp()
       によってコンパイルされた)
       パターンバッファへのアドレスでなければならない。

       cflags    には以下に示す定数一つ以上のビットごとの    OR   (bitwise-or)
       を指定する。

       REG_EXTENDED
              regexPOSIX
              拡張正規表現を使用する。もしこのフラグが設定されない場合、 POSIX
              標準正規表現が使われる。

       REG_ICASE
              大文字小文字の違いを無視する。このフラグを指定してコンパイルされた
              パターンバッファを用いて                               regexec()
              関数を呼び出すと、大文字小文字の区別を付けずに検索が行われる。

       REG_NOSUB
              このフラグを設定してコンパイルされたパターンバッファが regexec()
              の引数に指定されると、パラメータ nmatch, pmatch が無視される。

       REG_NEWLINE
              全ての文字にマッチするオペレータに改行をマッチさせない。

              改行を含まない非マッチング文字リスト                    ([^...])
              に改行をマッチさせない。

              regexec()   の実行時に指定するフラグ   eflagsREG_NOTBOL
              を含むかどうかにかかわらず、行頭にマッチするオペレータ       (^)
              を改行直後の空文字列にマッチさせる。

              eflagsREG_NOTEOL
              を含むかどうかにかかわらず、行末にマッチするオペレータ       ($)
              を改行直前の空文字列にマッチさせる。

POSIX REGEXグ
       regexec()      は、      プリコンパイルされたパターンバッファ      preg
       をヌル文字で終端された文字列にマッチさせる。     nmatchpmatch
       はマッチングの位置に関する情報を取得するのに用いられる。  eflags   には
       REG_NOTBOLREG_NOTEOL  のどちらか、もしくは両方のビットごとの  OR
       (bitwise-or) を指定し、以下で説明するようにマッチング動作を変化させる。

       REG_NOTBOL
              行頭にマッチするオペレータは、必ずマッチに失敗する
              (コンパイル時のフラグ        REG_NEWLINE         の項目も参照)。
              このフラグは、複数行にまたがる文字列を                 regexec()
              で検索する際に、文字列の先頭を行の先頭として解釈させない場合に用いる。

       REG_NOTEOL
              行末にマッチするオペレータは、必ずマッチに失敗する
              (コンパイル時のフラグ REG_NEWLINE の項目も参照)。

  ト
       パターンバッファのコンパイル時に                              REG_NOSUB
       が設定されない場合は、部分文字列のマッチング位置情報を得ることがでい襦
       pmatch             は、少なくとも             nmatch             の大-
       さを持つように指定しなければならない。                        regexec()
       の実行によって、それらに部分文字列マッチング位置情報が代入される。
       未使用の構造体要素には -1 が値として代入される。

       pmatch の型である regmatch_t 構造体は、 regex.h 内で定義される。

              typedef struct
              {
                regoff_t rm_so;
                regoff_t rm_eo;
              } regmatch_t;

       構造体要素                rm_so                の値が                -1
       でない場合、それは文字列内での次の最大のマッチング部分の開始
       オフセット位置を示す。それに対し、構造体要素                      rm_eo
       はマッチング部分の終了オフセット位置を示す。

POSIXト
       regerror()         は、         regcomp()         と          regexec()
       の実行によって得られるエラーコードから、エラーメッセージ文字列を
       得るのに用いられる。

       regerror()    はエラーコード    errcode、    パターンバッファ    preg、
       文字列バッファへのポインタ  errbuf、 文字列バッファのサイズ errbuf_size
       を引数にとる。
       この関数は、ヌル文字で終端されたエラーメッセージ文字列を格納するのに必要な
       errbuf  のサイズを返す。もし  errbuferrbuf_size   の両方が非   0
       値であれば、      errbuf      には最初の      errbuf_size      -      1
       文字分にエラーメッセージと終端のヌル文字が収まるように代入される。

POSIX放
       引数にコンパイルされたパターンバッファ    preg    を与えて    regfree()
       を呼び出すと、                                                regcomp()
       によるコンパイル時にパターンバッファに割り当てられたメモリが解放される。

値
       regcomp()                  は、コンパイルの成功時には                 0
       を返し、失敗時にはエラーコードを返す。

       regexec() は、マッチングの成功時には 0  を返し、失敗時には  REG_NOMATCH
       を返す。

ー
       regcomp() は以下のエラーを返す。

       REG_BADBR
              無効な後方参照オペレータの使用。

       REG_BADPAT
              グループやリストなどの、パターンオペレータの無効な使用。

       REG_BADRPT
              `*'
              が最初の文字としてくるような、無効な繰り返しオペレータの使用。

       REG_EBRACE
              インターバルオペレータ    {}    (brace    interval    operators)
              が閉じていない。

       REG_EBRACK
              リストオペレータ [] (bracket list operators) が閉じていない。

       REG_ECOLLATE
              照合順序の要素 (collating element) として邑ではない。

              (訳注)  照合順序の要素 (collating element) については、 regex(7)
              を参照。

       REG_ECTYPE
              未知のゥ礇薀タクラス名。

       REG_EEND
              未定義エラー。これは POSIX.2 には定義されていない。

       REG_EESCAPE
              正規表現がバックスラッシュで終っている。

              (訳注)     日本語環兇両豺隋▲丱奪スラッシュとなるべそ蠅円宜罎
              表示されることがあるが、これは単に表示フォントの問題で、
              内部的には同じ意味である。

       REG_EPAREN
              グループオペレータ    ()    (parenthesis    group     operators)
              が閉じていない。

       REG_ERANGE
              無効な範囲オペレータの使用。
              例えば、範囲の終了位置が開始位置よりも前にあるような場合。

       REG_ESIZE
              正規表現のコンパイルに、64Kb      以上のパターンバッファが必要。
              これは POSIX.2 には定義されていない。

       REG_ESPACE
              regex ルーチンがメモリを使いはたしている。

       REG_ESUBREG
              サブエクスプレッション          \(...\)          (subexpression)
              への無効な後方参照。

拠
       POSIX.2

目
       regex(7), GNU regex マニュアル