PCRE (Perl Compatible Regular Expressions) — библиотека, реализующая работу регулярных выражений в стиле Perl (с некоторыми отличиями). Синтаксис регулярных выражений PCRE значительно более мощный и гибкий, чем стандартных регулярных выражений POSIX.
В том, или ином виде доступна для очень многих языков программирования. В частности, в PHP, модуль PCRE включен в ядро.
Автор библиотеки — Филип Хейзел (Philip Hazel). Библиотека написана на Си и распространяется под лицензией BSD.
Список функций[]
Компиляция[]
- pcre *pcre_compile2(const char *pattern, int options,int *errorcodeptr,const char **errptr, int *erroffset,const unsigned char *tableptr);
- pcre *pcre_compile(const char *pattern, int options,const char **errptr, int *erroffset,const unsigned char *tableptr);
Поиск шаблона[]
- int pcre_exec(const pcre *code, const pcre_extra *extra,const char *subject, int length, int startoffset,int options, int *ovector, int ovecsize);
- int pcre_dfa_exec(const pcre *code, const pcre_extra *extra,const char *subject, int length, int startoffset,int options, int *ovector, int ovecsize,int *workspace, int wscount);
Извлечение нумерованных подстрок[]
- int pcre_get_substring(const char *subject, int *ovector,int stringcount, int stringnumber,const char **stringptr);
- int pcre_get_substring_list(const char *subject,int *ovector, int stringcount, const char ***listptr);
- int pcre_copy_substring(const char *subject, int *ovector,int stringcount, int stringnumber, char *buffer,int buffersize);
Извлечение именованных подстрок[]
- int pcre_get_stringnumber(const pcre *code,const char *name);
- int pcre_get_named_substring(const pcre *code,const char *subject, int *ovector,int stringcount, const char *stringname,const char **stringptr);
- int pcre_copy_named_substring(const pcre *code,const char *subject, int *ovector,int stringcount, const char *stringname,char *buffer, int buffersize);
Извлечение информации о шаблоне[]
- int pcre_fullinfo(const pcre *code, const pcre_extra *extra,int what, void *where);
- int pcre_info(const pcre *code, int *optptr, int *firstcharptr);
Очистка[]
- void pcre_free_substring(const char *stringptr);
- void pcre_free_substring_list(const char **stringptr);
Разное[]
- char *pcre_version(void);
- const unsigned char *pcre_maketables(void);
- int pcre_config(int what, void *where);
- int pcre_get_stringtable_entries(const pcre *code,const char *name, char **first, char **last);
- int pcre_refcount(pcre *code, int adjust);
- pcre_extra *pcre_study(const pcre *code, int options,const char **errptr);
Вспомогательные переопределяемые функции[]
- void *(*pcre_malloc)(size_t);
- void (*pcre_free)(void *);
- void *(*pcre_stack_malloc)(size_t);
- void (*pcre_stack_free)(void *);
- int (*pcre_callout)(pcre_callout_block *);