Документация к библиотекам Wiki

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 *);

Ссылки[]

Оригинальный мануал