PCRE2 10.45

PCRE2 10.45

Après plus de six mois de développement, la version 10.45 de la bibliothèque des expressions régulières compatibles avec PERL a été publiée. PCRE2, écrite en C et diffusée sous licence BSD. Il s'agit d'une version relativement importante, comprenant de nouvelles fonctionnalités, quelques corrections de bugs, et plusieurs changements ayant un impact mineur sur la rétrocompatibilité.

La version 10.45 est la première publication préparée par les nouveaux mainteneurs du projet, qui remercient Philip Hazel, le créateur et mainteneur des projets PCRE et PCRE2.

Liste des changements :

  • Le projet de compilation JIT sljit est désormais utilisé comme sous-module Git.
  • Les données Unicode ont été mises à jour vers la version 16.
  • Le matching insensible à la casse des propriétés Unicode Ll, Lt et Lu a été modifié pour correspondre à Perl. Auparavant, le modèle /p{Ll}/i prenait uniquement en compte les caractères minuscules (même si un matching insensible à la casse était spécifié). Ce changement impacte également le matching insensible à la casse des classes POSIX, comme [:lower:].
  • Une nouvelle fonction scan_substring a été ajoutée. C'est un nouveau type d'affirmation qui fait correspondre le contenu du bloc capturé avec un sous-modèle.
    Par exemple, l'expression b(w++)(*scan_substring:(1).+rh) trouve un mot contenant une séquence rare de lettres « rh » en anglais, qui ne se trouve pas au début.
  • Le support des classes de caractères compatibles avec UTS#18 (Expressions régulières Unicode) a été ajouté, grâce à une nouvelle option PCRE2_ALT_EXTENDED_CLASS. Pour cela, il faut utiliser [ comme métasymbole dans les classes de caractères et les opérateurs &&, - et ~~ , ce qui permet de réaliser facilement des soustractions et des intersections de classes de caractères.
    Par exemple, pour matcher des lettres thaïlandaises ou grecques (mais pas des lettres ou d'autres symboles dans ces écritures), on peut utiliser l'expression [p{L}&&[p{Thai}||p{Greek}]].
  • Le support des classes de caractères étendues au style Perl a été ajouté, utilisant la syntaxe (?[…]). Cela permet également d'exprimer des soustractions et des intersections de classes de caractères, mais avec une syntaxe différente de UTS#18 (Expressions régulières Unicode).
    Par exemple, pour matcher des lettres thaïlandaises ou grecques (mais pas des lettres ou d'autres symboles dans ces écritures), on peut utiliser l'expression (?[p{L} & (p{Thai} + p{Greek})]).
  • Améliorations significatives du mécanisme de correspondance des classes de caractères. Les classes de caractères compilées sont désormais plus compactes et offrent une correspondance plus rapide pour de grands ensembles ou des ensembles de caractères complexes, en utilisant la recherche binaire sur l'ensemble.
  • Une nouvelle fonction pcre2_set_optimize() a été ajoutée à l'API pour gérer les optimisations.
  • De nombreuses améliorations de la fonction pcre2_substitute().
  • Le 30 mai, la version de l'outil en ligne de commande

Source : linux.org.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster