Przejdź do zawartości

PCRE

Z Wikipedii, wolnej encyklopedii
Perl Compatible Regular Expressions (PCRE)
Autor Philip Hazel
Aktualna wersja stabilna 10.44
(7 czerwca 2024) [±]
System operacyjny POSIX
Rodzaj Biblioteka wyrażeń regularnych
Licencja BSD
Strona internetowa

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]