Reguläre Ausdrücke
Reguläre Ausdrücke (bzw. Regex) sind erweiterte Suchzeichenfolgen, die mit komplexen Mustern verglichen werden.
In dieser Dokumentation werden die Elemente der regulären Ausdrücke nach Kategorie eingeordnet.
Alle aufgelisteten Beispiele werden mit den folgenden zwei Zeilen verwendet:
Comment from happy_user@company.com (04-Apr-2016): (Kommentar von happy_user@company.com (04. April 2016))
I love working with Talend! It really helps me with all my daily tasks! (Ich arbeite sehr gern mit Talend! Die Lösung erleichtert mir meine tägliche Arbeit!)
Beispiele für reguläre Ausdrücke
Regulärer Ausdruck | Entspricht |
---|---|
\bTa | Talend |
\bw\w* | working, with |
\w+n\b | Preparation |
Talend\s\w+\s\w+ | Talend Data Preparation |
task(s?) | tasks („task“ wäre ebenfalls eine Übereinstimmung) |
\w+@\w+.com | happy_user@company.com |
\d{2}-.*-\d+ | 04-Apr-2016 |
Anker
Zeichen | Entsprechung | Beispiel |
---|---|---|
^ | Beginn der Zeichenfolge bzw. Zeile in einem mehrzeiligen Muster | ^Comment entspricht „Comment“ am Anfang der Zeile. ^C.* entspricht der ersten Zeile. |
$ | Ende der Zeichenfolge bzw. Zeile in einem mehrzeiligen Muster | !$ entspricht dem letzten Ausführungszeichen. |
\b | Wortgrenze | \bwo entspricht dem Wortteil „wo“ in „working“. \bwo\w+ entspricht „working“. \bwo entspricht dem Wortteil „ng“ in „working“. \w+ng\b entspricht „working“. |
\B | Keine Wortgrenze | \Bh entspricht dem letzten Buchstaben „h“ in „with“, jedoch nicht dem Buchstaben „h“ in „helps“ oder „happy“. h\B entspricht dem ersten Buchstaben „h“ in „helps“ und „happy“, jedoch nicht dem letzten Buchstaben in „with“. |
Zeichenklassen
Zeichen | Entsprechung | Beispiel |
---|---|---|
. | Jedes Zeichen, mit Ausnahme des Zeilenumbruchs (\n). | . entspricht allen Zeichen im Text, mit Ausnahme des Wagenrücklaufs. |
\s | Leerzeichen | Talend\sData entspricht „Talend Data“. Data\s+Preparation entspricht „Data Preparation“. |
\S | Kein Leerzeichen | \S entspricht allen Zeichen im Satz, mit Ausnahme der Leerzeichen. |
\d | Zahl | \d{4} entspricht „2016“. |
\D | Keine Zahl | \D entspricht allen Zeichen im Text, außer den Zahlen. |
\w | Wortzeichen und Unterstreichungen | T\w+ entspricht „Talend“. |
\W | Kein Wort | company\Wcom entspricht „company.com“. |
\n | Neue Zeile | .*\n.* entspricht dem gesamten Text. |
Maskierungszeichen
Zeichen | Entspricht |
---|---|
\. | . |
\\ | \ |
\+ | + |
\* | * |
\? | ? |
\$ | $ |
\[ | [ |
\] | ] |
\{ | { |
\} | } |
\( | ( |
\) | ) |
\| | | |
\/ | / |
Gruppen und Bereiche
Zeichen |
Entsprechung |
Beispiel |
---|---|---|
() | Gruppe | m(e|y) entspricht „me“ und „my“. |
(a|b) | a oder b | m(e|y) entspricht „me“ (in „Comment“), „me“ und „my“. |
[abc] | Bereich (a oder b oder c) | m[ey] entspricht „me“ (in „Comment“), „me“ und „my“. |
[a-q] | Buchstabe zwischen a und q | m[a-m] entspricht „me“ (in „Comment“) und „me“, jedoch nicht „my“. |
[0-7] | Zahl zwischen 0 und 7 | 201[0-5] entspricht nicht „2016“, würde jedoch allen Jahren zwischen „2010“ und „2015“ entsprechen. |
Der in eine Gruppe aufgenommene Ausdruck kann mithilfe des Symbols $ wiederverwendet werden. Wenn mehr als eine Gruppe erfasst wird, fügen Sie dem Symbol $ eine Nummer hinzu, um die Reihenfolge ihrer Erfassung anzugeben.
Ein Beispiel: Sie möchten den Ausdruck Y16Q02 umformulieren, der dem regulären Ausdruck Y(\d{2})Q(\d{2}) gleichgesetzt werden kann. Sie können dann den ursprünglichen Ausdruck umformulieren und nur die von Ihnen erfassten Zeichen beibehalten. Wenn der neue Ausdruck Quarter 02 of year 2016 (Quartal 02 des Jahres 2016) lauten soll, ist der neue reguläre Ausdruck Quarter $2 of year 20$1 eine Entsprechung.
Quantifikatoren
Zeichen | Entspricht | Beispiele |
---|---|---|
* | 0 oder mehr | work\w* entspricht „working“, aber ebenfalls „work“ und „works“. |
+ | 1 oder mehr | work\w+ entspricht „working“, aber ebenfalls „works“. „work“ ist jedoch keine Entsprechung. |
? | 0 oder 1 | work(s?) entspricht „work“ und „works“, jedoch nicht „working“. |
{3} | Genau 3 | 20\d{2} entspricht „2016“ sowie anderen Zahlen zwischen „2000“ und „2099“. |
{3,} | 3 oder mehr | 20\d{2,} entspricht „2016“ sowie allen Zahlen größer oder gleich „2000“ ab „20“. |
{3,5} | 3, 4 oder 5 | 20{1,2} entspricht „2016“ sowie allen Zahlen zwischen „200“ und „2099“. |
[0-7] | Zahl zwischen 0 und 7 | 201[0-9] entspricht „2016“ sowie allen Zahlen zwischen „2010“ und „2019“. |