PCRE
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.
Autor | Philip Hazel |
---|---|
Aktualna wersja stabilna | 10.44 (7 czerwca 2024) [±] |
System operacyjny | POSIX |
Rodzaj | Biblioteka wyrażeń regularnych |
Licencja | BSD |
Strona internetowa |
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;
}