#ifndef CRE_H #define CRE_H #include "pcre.h" #define GetGroupLen(vc, n) (vc[(n)*2 + 1] - vc[(n)*2]) int* _re_get_vec_table(pcre* re, int* out_groups_number); int* pcre_match(const char* _pat, const char* s, int len, int* out_vec_number, int opt); int* re_match2(pcre* re, const char* s, int len, int* out_vec_number, int opt); int* pcre_fullmatch(const char* _pat, const char* s, int len, int* out_vec_number, int opt); int* re_fullmatch2(pcre* re, const char* s, int len, int* out_vec_number, int opt); pcre* re_get_match_re(const char* _pat, int opt); pcre* re_get_fullmatch_re(const char* _pat, int opt); int* pcre_search(const char* pat, const char* s, int len, int* out_vec_number, int opt); int* re_search2(pcre* re, const char* s, int len, int* out_vec_number, int opt); int** re_searchall(const char* pat, const char* s, int len, int* out_number, int* out_vec_number, int opt); int** re_searchall2(pcre* re, const char* s, int len, int* out_number, int* out_vec_number, int opt); void re_free_searchall(int** vecs, int n); char** _re_extract_substring(const char* s, int** vecs, int n); char* re_find(const char* pat, const char* s, int len, int opt); char* re_find2(pcre* re, const char* s, int len, int opt); char** pcre_findall(const char* pat, const char* s, int len, int* out_number, int opt); char** re_findall2(pcre* re, const char* s, int len, int* out_number, int opt); void re_free_findall(char** ss, int n); char* pcre_sub(const char* pat, const char* to, const char* s, int len, int opt); char* pcre_subn(const char* pat, const char* to, const char* s, int len, int n, int opt, int* out_repl_times); char* re_subn2(pcre* re, const char* to, const char* s, int len, int n, int opt, int* out_repl_times); char* re_sub2(pcre* re, const char* to, const char* s, int len, int opt); #endif