TNB Library
公開メンバ関数 | 全メンバ一覧
CRegularExpressionT< TYP, ITE >::CFinder クラス

正規表現ファインダクラス [詳解]

#include <TnbRegularExpression.h>

公開メンバ関数

 CFinder (const CRegularExpressionT *P=NULL, ITE is=ITE(), ITE ie=ITE())
 コンストラクタ [詳解]
 
const CVectorT< CStrT< TYP > > & GetFoundGroupString (void) const
 [取得] マッチしたグループ文字列取得. [詳解]
 
INDEX GetFoundIndex (void) const
 [取得] マッチした位置取得. [詳解]
 
size_t GetFoundSize (void) const
 [取得] マッチした文字列長取得. [詳解]
 
CStrT< TYP > GetFoundString (void) const
 [取得] マッチした文字列取得. [詳解]
 
CStrT< TYP > GetString (void) const
 [取得] 置換結果文字列取得. [詳解]
 
bool IsFinding (void) const
 [確認] 検索確認 [詳解]
 
bool Next (void)
 [検索] 次検索 [詳解]
 
bool Replace (const TYP *lpsz)
 [置換] 置き換え. [詳解]
 

詳解

template<typename TYP, typename ITE = const TYP*>
class TNB::CRegularExpressionT< TYP, ITE >::CFinder

正規表現ファインダクラス

順次検索が可能。また、必要に応じて置換することが可能です。

使用例

    CRegularExpressionT<char> re;
    re.SetPattern("([ABC])-");
    CRegularExpressionT<char>::CFinder dd = re.GetFinder("A-B-9C!C-!");
    if ( dd.IsFinding() )
    {
        do{
            TRACE2A("index = %d,[%s]\n", dd.GetFoundIndex(), dd.GetFoundString() );         
            dd.Replace("ZZ\\1");
            TRACE1A("[%s]\n", dd.GetString() );
        }
        while( dd.Next() );
        TRACE1A("[%s]\n", dd.GetString() );
    }

    
参照
CRegularExpressionT::GetFinder() により作成されます。
必要ファイル
TnbRegularExpression.h
日付
07/09/01 新規作成

TnbRegularExpression.h1490 行目に定義があります。

構築子と解体子

◆ CFinder()

CFinder ( const CRegularExpressionT P = NULL,
ITE  is = ITE(),
ITE  ie = ITE() 
)

コンストラクタ

覚え書き
通常、直接インスタンスを作らず、 CRegularExpressionT::GetFinder() を使用します。
引数
P正規表現管理クラスのインスタンス。
is対象情報の開始イテレータ。
ie対象情報の終了番兵イテレータ。省略するとデフォルトの番兵になります。

TnbRegularExpression.h1509 行目に定義があります。

関数詳解

◆ GetFoundGroupString()

const CVectorT< CStrT< TYP > > & GetFoundGroupString ( void  ) const

[取得] マッチしたグループ文字列取得.

戻り値
グループ文字列

TnbRegularExpression.h1626 行目に定義があります。

◆ GetFoundIndex()

INDEX GetFoundIndex ( void  ) const

[取得] マッチした位置取得.

戻り値
位置

TnbRegularExpression.h1635 行目に定義があります。

◆ GetFoundSize()

size_t GetFoundSize ( void  ) const

[取得] マッチした文字列長取得.

注意
Replace() をすると、得られる文字列は置き換えたものなります。
戻り値
文字列長

TnbRegularExpression.h1617 行目に定義があります。

◆ GetFoundString()

CStrT< TYP > GetFoundString ( void  ) const

[取得] マッチした文字列取得.

注意
Replace() をすると、得られる文字列は置き換えたものなります。
戻り値
文字列

TnbRegularExpression.h1607 行目に定義があります。

◆ GetString()

CStrT< TYP > GetString ( void  ) const

[取得] 置換結果文字列取得.

覚え書き
検索し置換した結果の文字列を取得できます。 最後までチェックしていなくても置換したところまでが取得できます。
戻り値
置換結果文字列

TnbRegularExpression.h1646 行目に定義があります。

◆ IsFinding()

bool IsFinding ( void  ) const

[確認] 検索確認

戻り値
true検索中(GetFound系、 Replace() メソッド有効)
false検索なし

TnbRegularExpression.h1520 行目に定義があります。

◆ Next()

bool Next ( void  )

[検索] 次検索

覚え書き
次に一致する場所を検索します。
戻り値
true次検索成功(GetFound系、 Replace() メソッド有効)
false次なし

TnbRegularExpression.h1531 行目に定義があります。

◆ Replace()

bool Replace ( const TYP *  lpsz)

[置換] 置き換え.

覚え書き
マッチした文字列を指定の置換文字列で置換します。その際、以下のキーワードが使用できます。
・キーワード
¥0〜¥9  マッチした文字列のブロックが挿入されます。
¥¥    ¥文字が挿入されます。
引数
lpsz置換文字列。
戻り値
true成功。
false失敗。

TnbRegularExpression.h1565 行目に定義があります。