In Chain-Generator können Sie reguläre Ausdrücke (Regex-Operatoren) verwenden, um Zeichen in Textstrings abzugleichen, z. B. um Muster zu definieren für:
- Mapping von Transformationsregeln für eine Datenvorbereitungs--Verbindungs-Pipeline
- Die Befehle des Datei-Dienstprogramm-Konnektors Finden, Finden und Ersetzen, und Datei aufteilen
- Die Befehle des Tabellen-Transformations-Konnektors Spaltenfilter, Filterzeilen, Suchen und Ersetzen, Spalten verbinden, und Intelligente Filterzeilen
Allgemeine Operatoren
Um Muster zu definieren, die übereinstimmen sollen, können Sie diese allgemeinen Operatoren verwenden:
| Operator | Beschreibung | Beispiel | Rückgabe |
|---|---|---|---|
^ |
Stimmt mit dem Anfang einer Zeichenkette überein | ^abc |
abc, abcdef..., abc123 |
$ |
Stimmt mit dem Ende einer Zeichenkette überein | abc$ |
my:abc, 123abc, theabc |
. |
Entspricht einem beliebigen Zeichen als Platzhalter | a.c |
abc, asc, a123c |
| |
Ein ODER-Zeichen | abc|xyz |
abc oder xyz |
(...) |
Erfasst die Werte in den Klammern | (a)b(c) |
a und c |
[...] |
Entspricht allem innerhalb der Klammern | [abc] |
a, b, oder c |
(A–Z) |
Entspricht Kleinbuchstaben zwischen a und z | [b-z] |
bc, mind, xyz |
[0-9] |
Entspricht beliebigen Zahlenwerten zwischen 0 und 9 | [0-3] |
3201 |
{x} |
Die genaue Anzahl der Übereinstimmungen | (abc){2} |
abcabc |
{x,} |
Die Mindestanzahl von Übereinstimmungen | (abc){2,} |
abcabcabc |
* |
Entspricht allem anstelle des *, oder einer „gierigen“ Übereinstimmung | ab*c |
abc, abbcc, abcdc |
+ |
Entspricht dem Zeichen vor dem + ein oder mehrere Male | a+c |
ac, aac, aaac |
? |
Entspricht dem Zeichen vor dem ? null- oder einmal, oder eine „nicht-gierige“ Übereinstimmung | ab?c |
ac, abc |
/ |
Bricht das Zeichen nach dem / ab, oder erstellt eine Escape-Sequenz | a/bc |
a c, wobei das Leerzeichen dem /b entspricht |
Folgendes gilt für die Verwendung eines Operator-Literalzeichens innerhalb eines Musters, nicht als Regex:
- Bei einem Zirkumflex (
^), einem Punkt (.), einer offenen eckigen Klammer ([), einem Dollarzeichen ($), einer offenen oder geschlossenen Klammer (() oder ()), einer Pipe (|), einem Sternchen (*), einem Pluszeichen (+), einem Fragezeichen (?), einer offenen geschweiften Klammer ({) oder einem umgekehrten Schrägstrich (\) muss der Escape-Operator (\) folgen. - Bei einer abschließenden eckigen Klammer (
]) oder einer abschließenden geschweiften Klammer (}) machen Sie dies zum ersten Zeichen, mit oder ohne ein öffnendes^. - Ein Bindestrich (
-) kann das erste oder letzte Zeichen oder der zweite Endpunkt eines Bereichs sein.
Hinweis: Alle Zeichen in Klammern werden literal aufgefasst, und nicht als Regex-Operatoren. Zum Beispiel passt [*\+?{}.] auf jedes der literalen Zeichen innerhalb der Klammern.
Beginn oder Ende einer Zeichenkette abgleichen (^ und $)
Um Muster am Anfang oder Ende der Zeichenkette zu finden, verwenden Sie die Operatoren ^ bzw. $. Zum Beispiel:
| Beispiel | Streichhölzer |
|---|---|
^Die |
Jede Zeichenkette, die mit Die beginnt |
aus Verzweiflung$ |
Jede Zeichenkette, die mit aus Verzweiflung endet |
^abc$ |
Eine Zeichenfolge, die mit abcbeginnt und endet — eine exakte Übereinstimmung |
Tipp: Wenn weder ^ noch $ verwendet wird, passt das Muster auf jede Zeichenfolge, die die angegebenen Zeichen enthält. Beispiel: notice-ohne ^ oder $-gibt eine beliebige Zeichenfolge zurück, die notice enthält.
Übereinstimmende Zeichen (*, +, und ?)
Um Muster auf der Grundlage eines bestimmten Zeichens abzugleichen, folgen Sie dem Zeichen mit dem Operator *, +, oder ?. Diese Operatoren geben an, wie oft das Zeichen für eine Übereinstimmung vorkommen sollte — null oder mehr, eins oder mehr bzw. eins oder null. Zum Beispiel:
| Beispiel | Streichhölzer |
|---|---|
ab* |
Eine Zeichenkette, die a enthält, gefolgt von null oder mehr bs—ac, abc, oder abbc |
ab+ |
Eine Zeichenfolge, die a enthält, gefolgt von einem oder mehreren bs-abc oder abbc, aber nicht ac |
ab? |
Eine Zeichenfolge, die a enthält, gefolgt von null oder einem bs-ac oder abc, aber nicht abc |
a?b+$ |
Eine Zeichenkette, die mit einem oder mehreren bs endet, mit oder ohne vorangestelltem a; zum Beispiel ab, abb, b, oder bb, aber nicht aab oder aabb |
Häufigkeit der Übereinstimmung von Zeichen ({...} oder (...))
Um ein Muster auf der Grundlage der Häufigkeit des Vorkommens eines einzelnen Zeichens abzugleichen, geben Sie die Anzahl oder den Bereich der Instanzen in geschweiften Klammern an ({...}). Zum Beispiel:
| Beispiel | Streichhölzer |
|---|---|
ab{2} |
Eine Zeichenfolge, die a enthält, gefolgt von genau 2 bs-abb |
ab{2,} |
Eine Zeichenfolge, die a enthält, gefolgt von mindestens 2 bs-abb, abbbb, usw. |
ab{3,5} |
Eine Zeichenkette, die a enthält, gefolgt von drei bis fünf bs-abbb, abbbb, oder abbbbb |
Tipp: Geben Sie immer die erste Zahl eines Bereichs an —{0,2}, nicht {,2}. Anstelle der Bereiche {0,}, {1,}, oder {0,1}, können Sie die Operatoren *, +, bzw. ? verwenden.
Um ein Muster daraufhin abzugleichen, wie oft eine Zeichenfolge vorkommt, schließen Sie sie in Klammern ein ((...)). Zum Beispiel passt a(bc){1,5} auf eine Zeichenkette, die a enthält, gefolgt von einer bis fünf Instanzen von bc.
Übereinstimmung mit einem von mehreren Mustern (|)
Um einem von mehreren Mustern zu entsprechen - z. B. this OR that— verwenden Sie den OR-Operator |. Zum Beispiel:
| Beispiel | Streichhölzer |
|---|---|
hi|hallo |
Eine Zeichenkette, die entweder hi oder hallo enthält |
(b|cd)ef |
Eine Zeichenfolge, die entweder bef oder cdef enthält |
(a|b)*c |
Eine Zeichenkette, die aus einer Folge von abwechselnden as und bs besteht und mit c endet |
Entspricht einem beliebigen Zeichen (.)
Um ein beliebiges Zeichen in einem übereinstimmenden Muster darzustellen, verwenden Sie den Platzhalter-Operator .. Zum Beispiel:
| Beispiel | Streichhölzer |
|---|---|
a.[0-9] |
Eine Zeichenfolge, die a enthält, gefolgt von einem beliebigen Zeichen und einer Ziffer |
^.{3}$ |
Eine beliebige Zeichenfolge aus genau drei Zeichen |
Übereinstimmende Zeichenposition ([...])
Um ein Muster anhand der Position eines Zeichens abzugleichen, verwenden Sie eckige Klammern ([...]). Zum Beispiel:
| Beispiel | Streichhölzer |
|---|---|
[ab] |
Eine Zeichenkette, die entweder a oder b enthält; gleichbedeutend mit a|b |
[a-d] |
Eine Zeichenkette, die einen Kleinbuchstaben enthält |
^[a-zA-Z] |
Eine Zeichenfolge, die mit einem beliebigen Buchstaben beginnt, unabhängig von der Groß- und Kleinschreibung |
[0-9]% |
Eine Zeichenfolge, die eine beliebige einzelne Ziffer gefolgt von einem Prozentzeichen enthält |
,[a-zA-Z0-9]$ |
Eine Zeichenfolge, die mit einem Komma gefolgt von einem beliebigen Zeichen endet |
Hinweis: Alle Zeichen innerhalb von Klammern werden literal aufgefasst und nicht als Regex-Operatoren. Zum Beispiel passt [*\+?{}.] auf jedes der literalen Zeichen innerhalb der Klammern.
Unerwünschte Zeichen abgleichen ([^...])
Um ein Muster zu finden, das keine Zeichen enthält, beginnen Sie die Sequenz mit einem ^-Operator und schließen sie in Klammern ein. Beispiel: %[^a-zA-z]% passt auf eine Zeichenfolge mit einem beliebigen Nicht-Buchstabenzeichen zwischen zwei Prozentzeichen.