Ansicht
Dokumentation

ABENREGEX_XSD_SYNTAX_SPECIALS - REGEX XSD SYNTAX SPECIALS

ABENREGEX_XSD_SYNTAX_SPECIALS - REGEX XSD SYNTAX SPECIALS

General Data in Customer Master   Fill RESBD Structure from EBP Component Structure  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

- Sonderzeichen

Die folgenden Tabellen fassen die Sonderzeichen regulärer XSD-Ausdrücke zusammen.

Mustersyntax

Einstellige Fluchtsymbole

Syntax Beschreibung
\n Zeilenvorschub (0x0A)
\r carriage return (0x0D)
\t tab (0x09)
\\ literal \
\| literal \|
\. literal .
\- literal -
\^ literal ^
\? literal ?
\* literal *
\+ literal +
\{ literal {
\} literal }
\( literal (
\) literal )
\[ literal [
\] literal ]

Beim Aktivieren der Option RELAXED_ESCAPES während der Konstruktion eines regulären XSD-Ausdrucks mit CL_ABAP_REGEX=>CREATE_XSD stimmt eine Zeichenfolge \x, die nicht oben in der Tabelle erscheint oder eine andere besondere Bedeutung hat, mit einem Literal x überein. Wenn die Option RELAXED_ESCAPES deaktiviert wurde, löst eine solche Zeichenfolge \x eine Ausnahme aus.

Fluchtsymbole

Syntax Beschreibung
. beliebiges Zeichen mit Ausnahme von Zeilenvorschub und Wagenrücklauf (CR)
\d eine Ziffer (unter Berücksichtigung der Unicode-Zeicheneigenschaften)
\D ein Zeichen, das keine Ziffer ist
\p{xx} ein Zeichen mit der Unicode-Zeicheneigenschaft xx (siehe unten)
\P{xx} ein Zeichen ohne die Unicode-Zeicheneigenschaft xx (siehe unten)
\s ein Leerraum-Zeichen (unter Berücksichtigung der Unicode-Zeicheneigenschaften)
\S ein Zeichen, das kein Leerraum-Zeichen ist
\w ein „word“-Zeichen (unter Berücksichtigung der Unicode-Zeicheneigenschaften)
\W ein "non-word"-Zeichen
\i ein Zeichen, das gegebenenfalls das erste Zeichen eines XML-Namens ist
\I ein Zeichen, das gegebenenfalls nicht das erste Zeichen eines XML-Namens ist
\c ein Zeichen, das gegebenenfalls nach dem ersten Zeichen in einem XML-Namen vorkommt
\C ein Zeichen, das gegebenenfalls nicht nach dem ersten Zeichen in einem XML-Namen vorkommt

Kategorie-Fluchtsymbol

Syntax Beschreibung
\p{xx} ein Zeichen mit der Unicode-Zeicheneigenschaft xx (siehe unten)
\P{xx} ein Zeichen ohne die Unicode-Zeicheneigenschaft xx (siehe unten)

Allgemeine Kategorien für die Eigenschaften \p und \P

Basierend auf den durch den Unicode-Standard definierten allgemeinen Kategorien

Kategorie-Identifikator Beschreibung
C Sonstiges
Cc Kontroll-Zeichen
Cf Format-Zeichen
Cn Nicht zugeordnet
Co Privater Gebrauch
L Buchstabe
Ll Kleinbuchstabe
Lm Modifikationszeichen
Lo Sonstiger Buchstabe
Lt Erster Buchstabe groß
Lu Großbuchstabe
M Zeichen
Mc Zeichen mit eigener Breite
Me Einschließendes Zeichen
Mn Zeichen ohne eigene Breite
N Ziffer
Nd Dezimalziffer
Nl Buchstabenbasierte Ziffer
No Sonstige Ziffer
P Interpunktion
Pc Verbindung-Interpunktion
Pd Strich-Interpunktion
Pe Schließende Interpunktion
Pf Finale Interpunktion
Pi Initiale Interpunktion
Po Sonstige Interpunktion
Ps Öffnende Interpunktion
S Symbol
Sc Währungssymbol
Sk Modifikationssymbol
Sm Mathematisches Symbol
So Sonstiges Symbol
Z Trenner
Zl Zeilentrenner
Zp Absatztrenner
Zs Leerzeichentrenner

Blocknamen für die Eigenschaften \p und \P

Basierend auf den durch den Unicode-Standard definierten Blocknamen.

Die folgenden Blocknamen können unabhängig vom aktuellen UNICODE_HANDLING verwendet werden:

Blockbezeichner Startcode Endcode
IsBasicLatin #x0000 #x007F
IsLatin-1Supplement #x0080 #x00FF
IsLatinExtended-A #x0100 #x017F
IsLatinExtended-B #x0180 #x024F
IsIPAExtensions #x0250 #x02AF
IsSpacingModifierLetters #x02B0 #x02FF
IsCombiningDiacriticalMarks #x0300 #x036F
IsGreek #x0370 #x03FF
IsCyrillic #x0400 #x04FF
IsArmenian #x0530 #x058F
IsHebrew #x0590 #x05FF
IsArabic #x0600 #x06FF
IsSyriac #x0700 #x074F
IsThaana #x0780 #x07BF
IsDevanagari #x0900 #x097F
IsBengali #x0980 #x09FF
IsGurmukhi #x0A00 #x0A7F
IsGujarati #x0A80 #x0AFF
IsOriya #x0B00 #x0B7F
IsTamil #x0B80 #x0BFF
IsTelugu #x0C00 #x0C7F
IsKannada #x0C80 #x0CFF
IsMalayalam #x0D00 #x0D7F
IsSinhala #x0D80 #x0DFF
IsThai #x0E00 #x0E7F
IsLao #x0E80 #x0EFF
IsTibetan #x0F00 #x0FFF
IsMyanmar #x1000 #x109F
IsGeorgian #x10A0 #x10FF
IsHangulJamo #x1100 #x11FF
IsEthiopic #x1200 #x137F
IsCherokee #x13A0 #x13FF
IsUnifiedCanadianAboriginalSyllabics #x1400 #x167F
IsOgham #x1680 #x169F
IsRunic #x16A0 #x16FF
IsKhmer #x1780 #x17FF
IsMongolian #x1800 #x18AF
IsLatinExtendedAdditional #x1E00 #x1EFF
IsGreekExtended #x1F00 #x1FFF
IsGeneralPunctuation #x2000 #x206F
IsSuperscriptsandSubscripts #x2070 #x209F
IsCurrencySymbols #x20A0 #x20CF
IsCombiningMarksforSymbols #x20D0 #x20FF
IsLetterlikeSymbols #x2100 #x214F
IsNumberForms #x2150 #x218F
IsArrows #x2190 #x21FF
IsMathematicalOperators #x2200 #x22FF
IsMiscellaneousTechnical #x2300 #x23FF
IsControlPictures #x2400 #x243F
IsOpticalCharacterRecognition #x2440 #x245F
IsEnclosedAlphanumerics #x2460 #x24FF
IsBoxDrawing #x2500 #x257F
IsBlockElements #x2580 #x259F
IsGeometricShapes #x25A0 #x25FF
IsMiscellaneousSymbols #x2600 #x26FF
IsDingbats #x2700 #x27BF
IsBraillePatterns #x2800 #x28FF
IsCJKRadicalsSupplement #x2E80 #x2EFF
IsKangxiRadicals #x2F00 #x2FDF
IsIdeographicDescriptionCharacters #x2FF0 #x2FFF
IsCJKSymbolsandPunctuation #x3000 #x303F
IsHiragana #x3040 #x309F
IsKatakana #x30A0 #x30FF
IsBopomofo #x3100 #x312F
IsHangulCompatibilityJamo #x3130 #x318F
IsKanbun #x3190 #x319F
IsBopomofoExtended #x31A0 #x31BF
IsEnclosedCJKLettersandMonths #x3200 #x32FF
IsCJKCompatibility #x3300 #x33FF
IsCJKUnifiedIdeographsExtensionA #x3400 #x4DB5
IsCJKUnifiedIdeographs #x4E00 #x9FFF
IsYiSyllables #xA000 #xA48F
IsYiRadicals #xA490< #xA4CF
IsHangulSyllables #xAC00 #xD7A3
IsPrivateUse #xE000 #xF8FF
IsCJKCompatibilityIdeographs #xF900 #xFAFF
IsAlphabeticPresentationForms #xFB00 #xFB4F
IsArabicPresentationForms-A #xFB50 #xFDFF
IsCombiningHalfMarks #xFE20 #xFE2F
IsCJKCompatibilityForms #xFE30 #xFE4F
IsSmallFormVariants #xFE50 #xFE6F
IsArabicPresentationForms-B #xFE70 #xFEFE
IsSpecials #xFEFF #xFEFF
IsHalfwidthandFullwidthForms #xFF00 #xFFEF
IsSpecials #xFFF0 #xFFFD

Die folgenden Blocknamen können nur verwendet werden, wenn UNICODE_HANDLING auf STRICT oder IGNORE, aber nicht auf RELAXED gesetzt ist, da sie sich nicht mit der Basic Multilingual Plane überschneiden:

Blockbezeichner Startcode Endcode
IsByzantineMusicalSymbols #x1D000 #x1D0FF
IsMusicalSymbols #x1D100 #x1D1FF
IsMathematicalAlphanumericSymbols #x1D400 #x1D7FF
IsCJKUnifiedIdeographsExtensionB #x20000 #x2A6D6
IsCJKCompatibilityIdeographsSupplement #x2F800 #x2FA1F
IsTags #xE0000 #xE007F

Quantoren

Syntax Beschreibung
? 0 oder 1, gierig
* 0 oder mehr, gierig
+ 1 oder mehr, gierig
{n} genau n
{n,m} Mindestens n, nicht mehr als m, gierig
{n,} n oder mehr, gierig

Genügsame Quantoren (bzw. zurückhaltende Quantoren ) werden nicht unterstützt.

Gruppierung und Erfassung

Syntax Beschreibung
(...) Erfassende Gruppe

Technisch gesehen existiert das Konzept der erfassenden Gruppen nicht im XSD-Standard, da es keine reinen Standardmethoden gibt, um auf den Inhalt einer Gruppe zu verweisen. Da die ABAP-Implementierung von regulären XSD-Ausdrücken eine Ersetzungssyntax im PCRE-Stil erlaubt, werden alle Gruppen als Erfassungsgruppen betrachtet.

Alternative

Syntax Beschreibung
| Beginn des alternativen Zweigs

Zeichenklassen

Syntax Beschreibung
[...] Positive Zeichenklasse
[^...] Negative Zeichenklasse
[x-y] Intervall
[a-[b]] Zeichenklassensubtraktion (kann geschachtelt werden)

Ersetzungssyntax

Während der XSD-Standard nur die Abgleichsoperation für regulärer Ausdrücke definiert, erlaubt die ABAP-Implementierung auch alle anderen Operationen, wie durch CL_ABAP_REGEX und CL_ABAP_MATCHER definiert.

Die Syntax der Ersetzungsmuster für reguläre XSD-Ausrücke ist dieselbe wie bei regulären PCRE-Ausdrücken.






CPI1466 during Backup   General Data in Customer Master  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 50908 Date: 20240523 Time: 092743     sap01-206 ( 340 ms )