バナーをクリックすれば目次に戻ります
Copyright 1999 Rogue Wave Software
Copyright 1999 Sun Microsystems, Inc.
RWCRExpr
#include <rw/re.h>
RWCRExpr re(".*\\.doc"); // 接尾辞「.doc」を持つファイル名に一致する
正規表現 (RE) は次の規則にもとづいて作成されます。
注 - RWCRExpr はコンパイラが例外処理と C++ 標準ライブラリをサポートしている場合にのみ使用できます。
1 文字 RE は、次の規則によって単一文字に一致します。
特殊文字として定義されていない文字はすべて、それ自身に一致します。
+ * ? . [ ] ^ $ ( ) { } | \
#include <rw/re.h>
#include <rw/cstring.h>
#include <rw/rstream.h>
main(){
RWCString aString("Hark! Hark! the lark");
// 「l」で始まる任意の小文字単語または単語の末尾の文字列に一致する正規表現
//
RWCRExpr re("1[a-z]*");
cout << aString(re) << endl; // 「lark」を出力する
}
|
RWCRExpr(const char* pat); RWCRExpr(const RWCString& pat);
RWCRExpr(const RWCRExpr& r);
RWCRExpr();
~RWCRExpr();
RWCRExpr& operator=(const RWCRExpr& r);
RWCRExpr& operator=(const char* pat); RWCRExpr& operator=(const RWCString& pat);
size_t
index(const RWCString& str, size_t* len = NULL,
size_t start=0) const;
statusType status() const;
| statusType | 意味 |
|---|---|
| RWCRExpr::OK | エラーなし |
| RWCRExpr::NOT_SUPPORTED | POSIX.2 機能はサポートされていない |
| RWCRExpr::NO_MATCH | 一致を見つけようとしたが失敗した |
| RWCRExpr::BAD_PATTERN | パターンが不当 |
| RWCRExpr::BAD_COLLATING_ELEMENT | 無効な照合要素を参照した |
| RWCRExpr::BAD_CHAR_CLASS_TYPE | 無効な文字クラスタイプを参照した |
| RWCRExpr::TRAILING_BACKSLASH | パターンの最後に \ がある |
| RWCRExpr::UNMATCHED_BRACKET | 「[」と「]」が対応していない |
| RWCRExpr::UNMATCHED_PARENTHESIS | 「(」と「)」が対応していない |
| RWCRExpr::UNMATCHED_BRACE | 「{」と「}」が対応していない |
| RWCRExpr::BAD_BRACE | {} の内容が無効 |
| RWCRExpr::BAD_CHAR_RANGE | [a-z] 式の終端が無効 |
| RWCRExpr::OUT_OF_MEMORY | メモリー不足 |
| RWCRExpr::BAD_REPEAT | ?、*、+ の前の正規表現が無効 |
