Zum Hauptinhalt springen

1. Introduction (Einführung)

1. Introduction (Einführung)

Diese Spezifikation beschreibt eine interoperable Variante regulärer Ausdrücke (Regular Expression, abgekürzt als "regexp"), I-Regexp.

I-Regexp bietet keine erweiterten Funktionen für reguläre Ausdrücke wie Erfassungsgruppen (Capture Groups), Vorausschau (Lookahead) oder Rückverweise (Backreferences). Es unterstützt nur eine boolesche Übereinstimmungsfunktion (Boolean Matching), d.h. das Testen, ob ein gegebener regulärer Ausdruck mit einem gegebenen Textstück übereinstimmt.

I-Regexp unterstützt das gesamte Repertoire von Unicode-Zeichen (Unicode Scalar Values). Sowohl die I-Regexp-Zeichenketten selbst als auch die Zeichenketten, mit denen sie abgeglichen werden, sind Sequenzen von Unicode-Skalarwerten (oft in UTF-8-Kodierungsform [STD63] für den Austausch dargestellt).

I-Regexp ist eine Teilmenge der regulären Ausdrücke von XML Schema Definition (XSD) [XSD-2].

Dieses Dokument enthält Anleitungen zur Konvertierung von I-Regexps für die Verwendung mit mehreren bekannten Idiomen für reguläre Ausdrücke.

Die Entwicklung von I-Regexp wurde durch die Arbeit der JSONPath Working Group (WG) motiviert. Die WG wollte Unterstützung für die Verwendung regulärer Ausdrücke in JSONPath-Filtern in ihre Spezifikation [JSONPATH-BASE] aufnehmen, konnte jedoch keine nützliche Spezifikation für reguläre Ausdrücke finden, die über die gängigen Bibliotheken hinweg interoperabel wäre.

1.1 Terminology (Terminologie)

Dieses Dokument verwendet die Abkürzung "regexp" für das, was in der Programmierung üblicherweise als "regulärer Ausdruck" (Regular Expression) bezeichnet wird. Der Begriff "I-Regexp" wird als Substantiv verwendet und bezeichnet eine Zeichenkette (Sequenz von Unicode-Skalarwerten), die den Anforderungen dieser Spezifikation entspricht. Der Plural lautet "I-Regexps".

Diese Spezifikation verwendet Unicode-Terminologie. [UNICODE-GLOSSARY] bietet einen guten Einstiegspunkt.

Die Schlüsselwörter "MUST" (muss), "MUST NOT" (darf nicht), "REQUIRED" (erforderlich), "SHALL" (soll), "SHALL NOT" (soll nicht), "SHOULD" (sollte), "SHOULD NOT" (sollte nicht), "RECOMMENDED" (empfohlen), "NOT RECOMMENDED" (nicht empfohlen), "MAY" (kann) und "OPTIONAL" (optional) in diesem Dokument sind wie in BCP 14 [RFC2119] [RFC8174] beschrieben zu interpretieren, wenn und nur wenn sie in Großbuchstaben erscheinen, wie hier gezeigt.

Die grammatikalischen Regeln in diesem Dokument sind als ABNF (Augmented Backus-Naur Form) zu interpretieren, wie in [RFC5234] und [RFC7405] beschrieben, wobei die "Zeichen" (Characters) aus Abschnitt 2.3 von [RFC5234] Unicode-Skalarwerte sind.