step() - 正規表現とのパターン照合

標準

標準/拡張機能 C/C++ 依存項目

XPG4
XPG4.2

両方  

形式

#define _XOPEN_SOURCE
#include <regexp.h>

int step(const char *string, const char *expbuf);

extern char *loc1, *loc2;

機能説明

制約事項: この関数は、AMODE 64 ではサポートされません。

step() 関数は、入力された文字ストリングと、compile() へ の早期の呼び出しで取得されたコンパイル済みの正規表現式との突き合わせ を試みます。

先頭パラメーターの string は、突き合わせのために 検査される文字ストリングを指すポインターです。

expbuf は、compile() への以前の呼び出しによって 取得された正規表現を指すポインターです。

使用上の注意

  1. 外部変数の cirfsed、および nbra は予約済みです。
  2. compile()、step()、および advance() 関数が マルチスレッド環境で稼働中の場合、アプリケーションは これらの関数のシリアライズを適切に行わなければなりません。
  3. 関数 compile()、step()、および advance() は、従来の アプリケーション用に提供されています。これらの関数は Single UNIX Specification、バージョン 2 のレガシー機能の一部でした。 これらは既に廃止され、Single UNIX Specification、バージョン 3 の一部として サポートされていません。 新しいアプリケーションでは、より新しい関数の fnmatch()、 glob()、regcomp()、および regexec() を使用してください。これらの関数は、ISO POSIX.2 標準と 互換性を持つ完全な国際化正規表現の機能を提供します。

戻り値

string のあるサブストリングが expbuf の正規表現と一致すると、step() は、ゼロ以外の値を戻します。

一致しない場合、step() は、0 を戻します。

一致がある場合は、step() は、次のような 2 つ の外部ポインターを設定します。
  • 変数 loc1 は、正規表現と一致した先頭文字を指し ます。
  • 変数 loc2 は、正規表現と一致した最終文字の後の文字 を指します。
例えば、正規表現が入力全体と一致するなら、loc1string の先頭文字が指され、loc2string の終わりの NULL が指されます。

関連情報