PCRE

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj
Perl Compatible Regular Expressions (PCRE)
Biblioteka wyrażeń regularnych
Producent Philip Hazel
System operacyjny POSIX
Aktualna wersja stabilna 8.36 / 26 września 2014
Licencja BSD
http://www.pcre.org

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[edytuj | edytuj kod]