メインページ   名前空間リスト   データ構造リスト   ファイルリスト   名前空間メンバ   データ構造メンバ   ファイルメンバ   関連ページ  

クラス LEIRegExp::RegExp の解説

正規表現プログラムのインタフェース. より詳しく...

#include <lei_regexp.h>

LEIRegExp::RegExpのコラボレーション図

Collaboration graph
[凡例]
すべてのメンバリスト

公開型

enum  RegFlags {
  REG_NONE = 0,
  REG_STANDARD = 1,
  REG_EXTENDED = 2,
  REG_ICASE = 4,
  REG_NEWLINE = 8,
  REG_GLOBAL = 64,
  REG_SUBST = 0x10000,
  REG_DELIM = 0x20000,
  REG_PAREN = 0x40000,
  REG_SJIS = 0x10000000,
  REG_EUC = 0x20000000,
  REG_CHARCODE_MASK = 0x70000000
}
 動作指定フラグ. より詳しく...

enum  CharCode {
  EUC = 1,
  SJIS = 2,
  UTF16 = 3
}
 文字コード. より詳しく...


公開メンバ

 RegExp (const char *pattern=0, int rflags=0)
 コンストラクタ. より詳しく...

 ~RegExp ()
 デストラクタ. より詳しく...

bool regcomp (const char *pattern, int rflags=0)
 パターンコンパイル. より詳しく...

int regcomp_subst (const char *subst)
 置換文字列コンパイル (fixme: not implemented). より詳しく...

bool succeeded () const
 コンパイルの成否を調べる. より詳しく...

bool failed () const
 コンパイルの成否を調べる. より詳しく...

size_t getErrorPos () const
 パターンの字句エラーまたは構文エラー位置を得る. より詳しく...

bool regexec (const char *target, size_t length, int rflags=0)
 パターンマッチ. より詳しく...

bool regsubst (const char *target, size_t length, char *buffer, size_t bufsiz, int rflags=0)
 置換. より詳しく...

REMatchRange getMatchedRange (size_t nth)
 マッチの結果を得る. より詳しく...


静的公開メンバ

void SetDefaultJCode (int jcode)
 デフォルトの日本語コードの設定. より詳しく...


解説

正規表現プログラムのインタフェース.


メンバ列挙型の解説

enum LEIRegExp::RegExp::RegFlags
 

動作指定フラグ.

列挙型値:
REG_NONE  デフォルト.
REG_STANDARD  標準的な正規表現のみを扱う (not implemented).
REG_EXTENDED  拡張正規表現を扱う (not implemented).
REG_ICASE  英文字の大小を無視.
REG_NEWLINE  改行文字を含むターゲット文字列を複数行して扱う.
REG_GLOBAL  繰り返しマッチングを実行.
REG_SUBST  置換パターンとして解析.
REG_DELIM  パターン先頭文字をデリミタとみなす.
REG_PAREN  カッコのマッチングを行う.
REG_SJIS  ShiftJIS コードを使う.
REG_EUC  EUC コードを使う.
REG_CHARCODE_MASK  文字コードマスク.

enum LEIRegExp::RegExp::CharCode
 

文字コード.

列挙型値:
EUC  日本語 euc.
SJIS  日本語 shift jis.
UTF16  16ビット unicode (not yet implemented).


コンストラクタとデストラクタの解説

LEIRegExp::RegExp::RegExp const char *    pattern = 0,
int    rflags = 0
 

コンストラクタ.

引数:
pattern  NULL以外なら、パターンのコンパイルも実行する
rflags  動作指定フラグのビット和
事後条件:
パターンコンパイルの成否は、succeeded() または failed() で調べる

LEIRegExp::RegExp::~RegExp  
 

デストラクタ.

引数:
pattern  コンパイルすべきパターン
rflags  動作指定フラグのビット和
事後条件:
パターンコンパイルの成否は、succeeded() または failed() で調べる


メンバ関数の解説

void LEIRegExp::RegExp::SetDefaultJCode int    jcode [static]
 

デフォルトの日本語コードの設定.

引数:
jcode  デフォルトで使用される日本語文字コード (EUC or SJIS)

bool LEIRegExp::RegExp::regcomp const char *    pattern,
int    rflags = 0
 

パターンコンパイル.

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

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

int LEIRegExp::RegExp::regcomp_subst const char *    subst
 

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

bool LEIRegExp::RegExp::succeeded   const
 

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

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

bool LEIRegExp::RegExp::failed   const
 

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

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

size_t LEIRegExp::RegExp::getErrorPos   const
 

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

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

bool LEIRegExp::RegExp::regexec const char *    target,
size_t    length,
int    rflags = 0
 

パターンマッチ.

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

bool LEIRegExp::RegExp::regsubst const char *    target,
size_t    length,
char *    buffer,
size_t    bufsiz,
int    rflags = 0
 

置換.

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

REMatchRange LEIRegExp::RegExp::getMatchedRange size_t    nth
 

マッチの結果を得る.

引数:
nth  カッコの序数。
  • 0 ならパターン全体を表す。
  • 1 〜 9 なら、1番〜9番の無名カッコを表す。
  • 10 〜 35 または 'A' 〜 'Z' または 'a' 〜 'z' なら a 〜 z の名前付きカッコを表す。
戻り値:
指定されたパターンにマッチしている範囲を表す構造体


本ページは、 doxygen 1.2.11.1 によって生成されました。