PCRE
# PCRE

Perl Compatible Regular Expressions (PCRE), « expressions rationnelles compatibles avec le Perl », est une bibliothèque logicielle pour le langage C qui implémente un moteur d'expressions rationnelles reprenant les fonctionnalités des expressions rationnelles du langage Perl 5. Elle a été initialement écrite par Philip Hazel.

Le terme « PCRE » est aussi utilisé pour désigner les expressions rationnelles reconnues par cette bibliothèque.

En concurrence face aux standards POSIX d’expressions rationnelles, la bibliothèque PCRE, jugée plus puissante et plus flexible, a été largement adoptée et les PCRE sont devenues elles aussi un standard de fait. Elles sont désormais supportées nativement par de nombreux langages de programmation autres que le Perl, tels que PHP, JavaScript et R, ainsi que par des bibliothèques telles que GLib, ou encore des fichiers de configuration comme ceux des serveurs web Apache et NGINX.

Bien que les projets PCRE et Perl ont collaboré, le terme d’« expressions rationnelles compatibles avec le Perl » est maintenant un abus de langage, car la bibliothèque PCRE apporte des extensions mineures jamais supportées par Perl, par exemple l’émulation d’autres bibliothèques d’expressions rationnelles. Aussi, réciproquement, le langage Perl offre des fonctionnalités absentes de PCRE comme la possibilité d’insérer des expressions Perl au milieu de ses expressions rationnelles.

