Nach mehr als einem halben Jahr Entwicklungszeit wurde die Version 10.45 der PERL-kompatiblen regulĂ€ren Ausdrucksbibliothek veröffentlicht PCRE2, in C geschrieben und unter der BSD-Lizenz vertrieben. Dies ist eine relativ umfangreiche Version, die neue Funktionen, einige Fehlerbehebungen und einige Ănderungen mit geringfĂŒgigen Auswirkungen auf die AbwĂ€rtskompatibilitĂ€t enthĂ€lt.
Version 10.45 ist die erste Veröffentlichung, die von den neuen Projektbetreuern vorbereitet wurde, die Philip Hazel, dem Ersteller und Betreuer der Projekte PCRE und PCRE2, danken.
Liste der Ănderungen:
- JIT-Kompilierungsprojekt Sljit wird jetzt als Git-Untermodul verwendet.
- Unicode-Daten auf Version aktualisiert 16.
- Die GroĂ-/Kleinschreibung ignorierende Zuordnung der Unicode-Eigenschaften Ll, Lt und Lu wurde geĂ€ndert, um mit Perl ĂŒbereinzustimmen. Bisher stimmte das Muster /p{Ll}/i nur mit Kleinbuchstaben ĂŒberein (auch wenn eine Ăbereinstimmung ohne BerĂŒcksichtigung der GroĂ-/Kleinschreibung angegeben war). Diese Ănderung betrifft auch die GroĂ-/Kleinschreibung ignorierende Ăbereinstimmung von POSIX-Klassen wie [:lower:].
- Neue Funktion scan_substring hinzugefĂŒgt. Dies ist ein neuer Behauptungstyp, der den Inhalt eines Erfassungsblocks mit einem Untermuster vergleicht.
Beispielsweise findet der Ausdruck b(w++)(*scan_substring:(1).+rh) ein Wort, das die seltene englische Buchstabenfolge ârhâ enthĂ€lt, die nicht ganz am Anfang steht. - UnterstĂŒtzung fĂŒr Zeichenklassen hinzugefĂŒgt, die kompatibel sind mit UTS#18 (Unicode-regulĂ€re AusdrĂŒcke), unter Verwendung der neuen Option PCRE2_ALT_EXTENDED_CLASS. Dazu mĂŒssen Sie [ als Metazeichen in Zeichenklassen und die Operatoren &&, â und ~~ verwenden, wodurch Sie problemlos Subtraktionen und Schnittmengen von Zeichenklassen durchfĂŒhren können.
Um beispielsweise thailĂ€ndische oder griechische Buchstaben (aber nicht Buchstaben oder andere Zeichen in diesen Schriften) zu finden, können Sie den Ausdruck [p{L}&&[p{Thai}||p{Greek}]] verwenden. - UnterstĂŒtzung fĂŒr erweiterte Zeichenklassen im Perl-Stil mit der Syntax (?[âŠ]) hinzugefĂŒgt. Es ermöglicht auch die Darstellung von Subtraktionen und Schnittmengen von Zeichenklassen, allerdings mit einer anderen Syntax als UTS#18 (Unicode-regulĂ€re AusdrĂŒcke).
Um beispielsweise thailĂ€ndische oder griechische Buchstaben zu finden (aber nicht Buchstaben oder andere Zeichen in diesen Schriften), können Sie den Ausdruck (?[p{L} & (p{Thai} + p{Greek})]) verwenden. - Wesentliche Verbesserungen am Mechanismus zur ZeichenklassenĂŒbereinstimmung. Kompilierte Zeichenklassen sind jetzt kompakter und ermöglichen eine schnellere Ăbereinstimmung mit groĂen oder komplexen ZeichensĂ€tzen mithilfe der binĂ€ren Suche im Satz.
- Um Optimierungen zu verwalten, wurde der API die neue Funktion pcre2_set_optimize() hinzugefĂŒgt.
- Viele Verbesserungen an der Funktion pcre2_substitute().
- Weitere Verbesserungen und Fehlerbehebungen.
Source: linux.org.ru
