メインページ | アルファベット順一覧 | 構成 | ファイル一覧 | 構成メンバ | ファイルメンバ | 関連ページ

# dkcRegex.h

説明を見る。

    00001
    00013 #ifndef dkutil_c_Regex__h
    00014 #define dkutil_c_Regex__h
    00015
    00016
    00017
    00018 #include "dkcStream.h"
    00019 #include "dkcOSIndependent.h"
    00020
    00021 typedef struct dkc_Replace{
    00022     DKC_STREAM *mStream;
    00023 }DKC_REPLACE;
    00024
    00025 typedef wchar_t DKC_UNICODE;
    00026
    00027 DKC_EXTERN DKC_REPLACE *WINAPI dkcAllocReplace();
    00028
    00029 DKC_EXTERN int WINAPI dkcFreeReplace(DKC_REPLACE **);
    00030
    00031 DKC_EXTERN int WINAPI dkcReplaceRun(     const BYTE *src,size_t srcsize,
    00032                                                                          const BYTE *target_data,size_t target_data_size,
    00033                                                                          const BYTE *replace_data,size_t replace_data_size
    00034                                                             );
    00035
    00036
    00037
    00039 enum edkcRegToken
    00040 {
    00042     R_Char,
    00044     R_Any,
    00046     R_Lcl,
    00048     R_Rcl,
    00050     R_Ncl,
    00052     R_Range,
    00054     R_Lbr,
    00056     R_Rbr,
    00058     R_Bar,
    00060     R_Star,
    00062     R_Plus,
    00064     R_Quest,
    00066     R_End,
    00067 };
    00068
    00069
    00071 enum edkcRegType
    00072 {
    00073     N_Char,     // 普通の文字 (ch)
    00074     N_Class,    // [...] など (cls)
    00075     N_Concat,   // 連接       (left, right)
    00076     N_Or,       // |          (left, right)
    00077     N_Closure,  // *          (left)
    00078     N_Closure1, // +          (left)
    00079     N_01,       // ?          (left)
    00080     N_Empty     // 空         (--)
    00081 };
    00082
    00084 typedef struct dkcRegularExpression{
    00085     void *re_;
    00086     BOOL caseS_;
    00087     BOOL down_;
    00088 }DKC_Regular_EXPRESSION,DKC_REX,DKC_REGEX;
    00089
    00095 DKC_EXTERN DKC_REGEX *WINAPI dkcAllocRegex(const DKC_UNICODE* key, BOOL caseS, BOOL down);
    00096
    00097 DKC_EXTERN int WINAPI dkcFreeRegex(DKC_REGEX **);
    00098
    00099 DKC_EXTERN BOOL WINAPI dkcRegexSearch(DKC_REGEX *p,const DKC_UNICODE* str, ULONG len, ULONG stt,ULONG* mbg, ULONG* med);
    00100
    00101
    00116 DKC_EXTERN BOOL WINAPI dkcRegularExpressionSearch( const DKC_UNICODE* key, BOOL caseS, BOOL down,const DKC_UNICODE* str, ULONG len, ULONG stt,ULONG* mbg, ULONG* med );
    00127 DKC_EXTERN BOOL WINAPI dkcRegularExpressionMatch( const DKC_UNICODE* pat, const DKC_UNICODE* str, BOOL caseS );
    00128
    00129
    00130 #endif //end of include once