PCRE2 10.45

PCRE2 10.45

Nach mehr als einem halben Jahr Entwicklung wurde die Version 10.45 der PERL-kompatiblen regulären Ausdrücke veröffentlicht. PCRE2, geschrieben in C und lizenziert unter der BSD-Lizenz. Dies ist eine vergleichsweise große Veröffentlichung, die neue Funktionen, einige Bugfixes und mehrere Änderungen mit geringer Auswirkung auf die Rückwärtskompatibilität umfasst.

Version 10.45 ist die erste Veröffentlichung, die von den neuen Betreuern des Projekts vorbereitet wurde, die Philip Hazel, den Schöpfer und Betreuer der Projekte PCRE und PCRE2, danken.

Änderungsprotokoll:

  • Das JIT-Kompilierungsprojekt sljit wird jetzt als Git-Submodul verwendet.
  • Die Unicode-Daten wurden auf die Version 16.
  • Die fallunempfindliche Übereinstimmung von Unicode-Eigenschaften Ll, Lt und Lu wurde geändert, um Perl zu entsprechen. Zuvor berücksichtigte das Muster \/p{Ll}\/i nur Kleinbuchstaben (auch wenn eine fallunempfindliche Übereinstimmung angegeben war). Diese Änderung beeinflusst auch die fallunempfindliche Übereinstimmung von POSIX-Klassen wie [:lower:].
  • Eine neue Funktion scan_substring wurde hinzugefügt. Dies ist ein neuer Typ von Assertion, die den Inhalt eines erfassten Blocks mit einem Untermuster vergleicht.
    Zum Beispiel findet der Ausdruck b(w++)(*scan_substring:(1).+rh) ein Wort, das die im Englischen seltene Buchstabenkombination „rh“ enthält, die nicht am Anfang steht.
  • Unterstützung für Zeichengruppen, kompatibel mit UTS#18 (Unicode-Regulärausdrücke), wurde durch die neue Option PCRE2_ALT_EXTENDED_CLASS hinzugefügt. Dazu muss [ als Metazeichen in Zeichengruppen und die Operatoren &&, — und ~~ verwendet werden, was das Subtrahieren und den Schnitt von Zeichengruppen erleichtert.
    Zum Beispiel kann für die Übereinstimmung mit thailändischen oder griechischen Buchstaben (aber nicht mit Buchstaben oder anderen Zeichen in diesen Schriftsystemen) der Ausdruck [p{L}&&[p{Thai}||p{Greek}]] verwendet werden.
  • Die Unterstützung für erweiterte Zeichengruppen im Perl-Stil wurde mit der Syntax (?[…]) hinzugefügt. Dies ermöglicht ebenfalls das Ausdrücken von Subtraktionen und Schnitten von Zeichengruppen, jedoch mit einer anderen Syntax als UTS#18 (Unicode-Reguläre Ausdrücke).
    Zum Beispiel kann für die Übereinstimmung mit thailändischen oder griechischen Buchstaben (aber nicht mit Buchstaben oder anderen Zeichen in diesen Schriftsystemen) der Ausdruck (?[p{L} & (p{Thai} + p{Greek})]) verwendet werden.
  • Wesentliche Verbesserungen im Mechanismus zur Zuordnung von Zeichensatzklassen. Kompilierte Zeichensatzklassen sind jetzt kompakter und bieten eine schnellere Zuordnung für große oder komplexe Zeichensätze, indem sie eine binäre Suche im Satz verwenden.
  • Eine neue Funktion pcre2_set_optimize() wurde der API hinzugefügt, um Optimierungen zu steuern.
  • Zahlreiche Verbesserungen der Funktion pcre2_substitute().
  • Weitere Verbesserungen und Bugfixes.

Quelle: linux.org.ru

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster