クラス langedge::jregex::JRegexIF

正規表現のインタフェース. [詳細]

#include <jregex_interface.h>

すべてのメンバ一覧

Public メソッド

virtual bool regcomp (const char *pattern, int rflags=0)=0
 パターンコンパイル.
virtual int regcomp_subst (const char *subst)=0
 置換文字列コンパイル (fixme: not implemented).
virtual bool succeeded () const =0
 コンパイルの成否を調べる.
virtual bool failed () const =0
 コンパイルの成否を調べる.
virtual size_t getErrorPos () const =0
 パターンの字句エラーまたは構文エラー位置を得る.
virtual bool regexec (const char *target, size_t length, int rflags=0)=0
 パターンマッチ.
virtual bool regsubst (const char *target, size_t length, char *buffer, size_t bufsiz, int rflags=0)=0
 置換.
virtual JREMatchRange getMatchedRange (size_t nth)=0
 マッチの結果を得る.
virtual void release ()=0
 自オブジェクトの解放.

Static Public メソッド

static JRegexIFcreateInstance (const char *pattern=0, int rflags=0)
 正規表現実装クラスのインスタンス(オブジェクト)のファクトリ関数.
static void setDefaultCharcode (RegFlags charcodeFlag)
 デフォルトの文字コードの設定.

Protected メソッド

virtual ~JRegexIF ()
 保護されたデストラクタ.


説明

正規表現のインタフェース.


コンストラクタとデストラクタ

virtual langedge::jregex::JRegexIF::~JRegexIF  )  [inline, protected, virtual]
 

保護されたデストラクタ.

直接、delete を呼ぶことを禁止する。オブジェクトの解放の際は、必ず release() を呼ぶこと。


関数

static JRegexIF* langedge::jregex::JRegexIF::createInstance const char *  pattern = 0,
int  rflags = 0
[static]
 

正規表現実装クラスのインスタンス(オブジェクト)のファクトリ関数.

DLL ではなく、静的ライブラリとしてアプリケーションにリンクする場合に使用する。 DLL の場合は、本関数を呼び出してはならない (リンクエラーになる)。

引数:
pattern コンパイルする正規表現パターン
rflags 動作指定フラグ (enum RegFlags) のビット和。 ここで指定した文字コードが、以降のパターンコンパイルやマッチング時にも用いられる。
戻り値:
生成されたオブジェクトのインタフェースポインタ
事後条件:
パターンコンパイルの成否は、 succeeded() または failed() で調べる
参照:
::CreateInstance() : DLLでのファクトリ関数

static void langedge::jregex::JRegexIF::setDefaultCharcode RegFlags  charcodeFlag  )  [static]
 

デフォルトの文字コードの設定.

正規表現オブジェクトを生成する際に文字コードフラグの指定が無かった場合の デフォルトの文字コードを設定する。
設定しない場合は、Windows系は SJIS がデフォルトとなり、それ以外のプラットフォームでは EUC がデフォルトとなる。

引数:
charcodeFlag 文字コードフラグ (JREGEX_SJIS or JREGEX_EUC)
参照:
::SetDefaultCharcode() : DLLでのデフォルト文字コード設定関数

virtual bool langedge::jregex::JRegexIF::regcomp const char *  pattern,
int  rflags = 0
[pure virtual]
 

パターンコンパイル.

マッチングあるいは置換のパターンをコンパイルする。置換のためのパターンは、 「/パターン/置換文字列/[ig]」という形式をとり、rflags として、 REG_SUBST を指定する。

引数:
pattern コンパイルする正規表現パターン
rflags 動作指定フラグ (enum RegFlags) のビット和。
ここでの文字コードの指定は無効。
戻り値:
true : コンパイルに成功
false: コンパイルに失敗
コンパイルに失敗したバイト位置は getErrorPos() で調べる

virtual int langedge::jregex::JRegexIF::regcomp_subst const char *  subst  )  [pure virtual]
 

置換文字列コンパイル (fixme: not implemented).

virtual bool langedge::jregex::JRegexIF::succeeded  )  const [pure virtual]
 

コンパイルの成否を調べる.

戻り値:
true: コンパイルに成功
false: コンパイルに失敗
事後条件:
コンパイルに失敗したパターンのバイト位置は getErrorPos() で得ることができる

virtual bool langedge::jregex::JRegexIF::failed  )  const [pure virtual]
 

コンパイルの成否を調べる.

戻り値:
true: コンパイルに失敗
false: コンパイルに成功
事後条件:
コンパイルに失敗したパターンのバイト位置は getErrorPos() で得ることができる

virtual size_t langedge::jregex::JRegexIF::getErrorPos  )  const [pure virtual]
 

パターンの字句エラーまたは構文エラー位置を得る.

戻り値:
エラーが生じた位置。先頭からのバイト数 (先頭 == 0)

virtual bool langedge::jregex::JRegexIF::regexec const char *  target,
size_t  length,
int  rflags = 0
[pure virtual]
 

パターンマッチ.

引数:
target マッチング対象文字列
length 文字列長 (0 なら 末尾の nul まで)
rflags 動作指定フラグ (enum RegFlags) のビット和。
ここでの文字コードの指定は無効。
戻り値:
true: マッチングに成功
false: マッチングに失敗

virtual bool langedge::jregex::JRegexIF::regsubst const char *  target,
size_t  length,
char *  buffer,
size_t  bufsiz,
int  rflags = 0
[pure virtual]
 

置換.

引数:
target ターゲット文字列
length 文字列長 (0 なら 末尾の nul まで)
buffer 置換した結果を返すバッファ (target と同じものであってはならない)
bufsiz バッファのサイズ
rflags 動作指定フラグ (enum RegFlags) のビット和。
ここでの文字コードの指定は無効。
戻り値:
true: 置換に成功
false: 置換に失敗
事前条件:
target != buffer

virtual JREMatchRange langedge::jregex::JRegexIF::getMatchedRange size_t  nth  )  [pure virtual]
 

マッチの結果を得る.

パターン中のカッコにマッチしている範囲に関する情報を返す。

引数:
nth カッコの序数。
  • 0 ならパターン全体を表す。
  • 1 〜 9 なら、1番〜9番の無名カッコを表す。
  • 10 〜 35 または 'A' 〜 'Z' または 'a' 〜 'z' なら a 〜 z の名前付きカッコを表す。
戻り値:
指定されたパターンにマッチしている範囲を表す構造体。 構造体のメンバ関数 (JREMatchRange::isMatched) を呼ぶことにより、 マッチしているかどうかを判定する。

virtual void langedge::jregex::JRegexIF::release  )  [pure virtual]
 

自オブジェクトの解放.

オブジェクトの解放の際は、直接 delete を呼ぶのではなく、必ず release() を呼ぶ。


このクラスの説明は次のファイルから生成されました:
LangEdge ライブラリに対してFri May 6 22:43:04 2005に生成されました。  doxygen 1.4.2