PCRE2 10.45

PCRE2 10.45

Nach mehr als anderthalb Jahren Entwicklung wurde die Version 10.45 der PERL-kompatiblen regulĂ€ren AusdrĂŒcke veröffentlicht PCRE2, die in C geschrieben und unter der BSD-Lizenz vertrieben wird. Dies ist eine vergleichsweise große Veröffentlichung, die neue Funktionen, einige Fehlerkorrekturen und mehrere Änderungen enthĂ€lt, die sich nur geringfĂŒgig auf die AbwĂ€rtskompatibilitĂ€t auswirken.

Version 10.45 ist die erste Veröffentlichung, die von den neuen Projektverantwortlichen vorbereitet wurde, die Philip Hazel, den Schöpfer und verantwortlichen Projektleiter von PCRE und PCRE2, danken.

Änderungsprotokoll:

  • Das JIT-Compilation-Projekt sljit wird jetzt als Git-Submodul verwendet.
  • Die Unicode-Daten wurden auf die Version 16.
  • Das nicht sensible zum Fall passende Unicode-Eigenschaften Ll, Lt und Lu wurde geĂ€ndert, um Perl zu entsprechen. FrĂŒher berĂŒcksichtigte das Muster /p{Ll}/i nur Kleinbuchstaben (auch wenn ein nicht fallsensitives Matching angegeben wurde). Diese Änderung wirkt sich auch auf das nicht fall-sensitive Matching von POSIX-Klassen aus, wie z.B. [:lower:].
  • Eine neue Funktion scan_substring wurde hinzugefĂŒgt. Dies ist ein neuer Typ von Aussage, der den Inhalt eines erfassten Blocks mit einem Submuster abgleicht.
    Zum Beispiel findet der Ausdruck b(w++)(*scan_substring:(1).+rh) ein Wort, das eine in der englischen Sprache seltene Buchstabenkombination 'rh' enthÀlt, die nicht am Anfang steht.
  • Die UnterstĂŒtzung von Zeichengruppen, die mit UTS#18 (Unicode-Regular Expressions) kompatibel sind, wurde durch die neue Option PCRE2_ALT_EXTENDED_CLASS hinzugefĂŒgt. Hierbei muss [ als Metazeichen in Zeichengruppen und die Operatoren &&, - und ~~ verwendet werden, was eine einfache DurchfĂŒhrung von Differenzen und Schnittmengen von Zeichengruppen ermöglicht.
    Zum Beispiel kann der Ausdruck [p{L}&&[p{Thai}||p{Greek}]] verwendet werden, um mit thailĂ€ndischen oder griechischen Buchstaben (nicht aber mit Buchstaben oder anderen Zeichen aus diesen Schriften) ĂŒbereinzustimmen.
  • Die UnterstĂŒtzung fĂŒr erweiterte Zeichengruppen im Perl-Stil wurde hinzugefĂŒgt, wobei die Syntax (?[
]) verwendet wird. Dies ermöglicht es ebenfalls, Differenzen und Schnittmengen von Zeichengruppen auszudrĂŒcken, aber mit einer anderen Syntax als UTS#18 (Unicode-Regular Expressions).
    Zum Beispiel kann der Ausdruck (?[p{L} & (p{Thai} + p{Greek})]) verwendet werden, um mit thailĂ€ndischen oder griechischen Buchstaben (nicht aber mit Buchstaben oder anderen Zeichen aus diesen Schriften) ĂŒbereinzustimmen.
  • Bedeutende Verbesserungen im Mechanismus der Klassensymbolzuordnung. Kompilierte Symbolklassen sind jetzt kompakter und bieten ein schnelleres Matching fĂŒr große oder komplexe ZeichensĂ€tze durch binĂ€re Suche im Set.
  • Eine neue Funktion pcre2_set_optimize() wurde der API hinzugefĂŒgt, um die Optimierungen zu steuern.
  • Eine Vielzahl von Verbesserungen der Funktion pcre2_substitute().
  • Empfehlungen der Linux Foundation zur Einhaltung von Sanktionen in Open-Source-Projekten

Quelle: linux.org.ru

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster