Wie erstellt man RegEx (Regular Expressions) für ecoDMS?
Wenn Werte, die sich nicht immer an derselben Stelle auf einem Dokument befinden, ausgelesen werden sollen, kann der Einsatz von RegEx weiterhelfen.
Hier eine kurze Erklärung der wichtigsten regulären Ausdrücke:
Befehl | Beschreibung |
---|---|
\d | Eine Zahl wird ausgelesen. |
\d+ | Alle nachfolgenden Zahlen werden ausgelesen. |
\s | Ein Leerzeichen wird ausgelesen. |
\s+ | Alle folgenden Leerzeichen werden ausgelesen. |
\w | Ein Buchstabe wird ausgelesen. |
\w+ | Alle folgenden Buchstaben werden ausgelesen. |
. | Das nächste Zeichen wird ausgelesen. |
(?<=Test) | Es wird nach dem Wort Test gesucht, aber nicht ausgegeben. |
\d{2} | Es werden die zwei nächsten Zahlen ausgelesen. |
\w{2} | Es werden die zwei nächsten Buchstaben ausgelesen. |
Die folgenden RegEx Beispiele beziehen sich auf dieses Dokument.
Möchten Sie eine Rechnungsnummer auszulesen gehen Sie wie folgt vor.
Zuerst brauchen wir einen festen Anhaltspunkt, nach dem wir suchen können
In unserem Beispiel nehmen wir das Wort Rechnungsnummer, wovon wir anschließend die dahinter stehende Rechnungsnummer auslesen können.
Beispiel 1:
REGEX:(?<=Rechnung Nr.) |
---|
Ausgabe |
---|
Die Ausgabe ist leer, da wir noch nicht definiert haben, was hinter Rechnung Nr. gelesen werden soll.
Hinter Nr. kommt ein Leerzeichen, was wir dem RegEx mitteilen müssen und schreiben deshalb ein \s, da es ja nur ein Leerzeichen ist.
Anschließend kommt die Rechnungsnummer die wir mit \d+ auslesen. Hier benutzen wir \d+, da wir alle folgenden Zahlen auslesen möchten.
REGEX:(?<=Rechnung Nr.)\s\d+ |
---|
Ausgabe | 8547895615547 |
---|
Beispiel 2:
Möchten wir die UID auslesen müssen wir erst die zwei Buchstaben DE mit \w+ oder \w{2} auslesen und können anschließend die Zahlen mit \d+ auslesen.
REGEX:(?<=UID:)\s\w+\d+ |
---|
Ausgabe | DE159753654 |
---|
Beispiel 3:
In diesem RegEx wird nach dem Wort Rechnungsbetrag als Schlüsselwort gesucht, dass später nicht ausgegeben wird.
Anschließend wird mit \s+ angegeben, dass ein oder mehrere Leerzeichen folgen.
Es wird die folgende Zahlenfolge mit \d+ ausgelesen.
Nach den Zahlen kommt ein Komma , und anschließend noch zwei weitere Zahlen, die mit \d{2} ausgelesen werden.
REGEX:(?<=Rechnungsbetrag)\s+\d+,\d{2} |
---|
Ausgabe | 362,00 |
---|