PCRE

Perl Compatible Regular Expressions (PCRE)
Autor Philip Hazel
Aktualna wersja stabilna 8.36 / 26 września 2014; ponad 9 lat temu
System operacyjny POSIX
Rodzaj Biblioteka wyrażeń regularnych
Licencja BSD
Strona internetowa
Ten artykuł od 2021-03 zawiera treści, przy których brakuje odnośników do źródeł.
Należy dodać przypisy do treści niemających odnośników do źródeł. Dodanie listy źródeł bibliograficznych jest problematyczne, ponieważ nie wiadomo, które treści one uźródławiają.
Sprawdź w źródłach: Encyklopedia PWN • Google Books • Google Scholar • Federacja Bibliotek Cyfrowych • BazHum • BazTech • RCIN • Internet Archive (texts / inlibrary)
Po wyeliminowaniu niedoskonałości należy usunąć szablon {{Dopracować}} z tego artykułu.

Perl Compatible Regular Expressions (PCRE) – biblioteka udostępniająca Perlowe wyrażenia regularne programom w C oraz skrypt, który udostępnia je z poziomu powłoki.

PCRE posiada zarówno swój własny interfejs, jak i interfejs kompatybilny z wyrażeniami regularnymi POSIX.

Jest ona używana m.in. przez KDE, exim, PHP i tin.

Przykład użycia (interfejs POSIX-owy):

#include <pcreposix.h>
#include <stdio.h>

int main(void)
{
  regex_t rx;
  char *pat = "([0-2]?\\d{1,2})\\.([0-2]?\\d{1,2})\\.([0-2]?\\d{1,2})\\.([0-2]?\\d{1,2})";
  //  More "ambitious" expression - "(?:([0-2]?\\d{1,2})\\.){3}([0-2]?\\d{1,2})";
  char *str = "123.45.67.89";
  regmatch_t match [6];
  int i;

  regcomp (&rx, pat, 0);
  regexec (&rx, str, 6, match, 0);

  for (i=0; i<6; ++i)
  {
    printf ("Perl-Compatible Regular Expression matched from character %i to %i: `%.*s'\n",
    match[i].rm_so, match[i].rm_eo,
    match[i].rm_eo-match[i].rm_so,
    &str[match[i].rm_so]);
  }
  return 0;
}

Linki zewnętrzne

  • Strona domowa PCRE