Mit Regex Informationen auslesen

schmidt_as

Grünschnabel
Guten Morgen zusammen,

wie der ein oder andere hier im Forum "kämpfe" ich ebenfalls mit den REGex-Befehlen und mit EcoDMS etwas besser arbeiten zu können.
Ich habe folgende Information:

Empfänger Max Mustermann
99999 Musterstadt * Musterstraße 5
Lieferavis max.muster@mustermail.com

In Wirklichkeit hab ich natürlich keine Tabelle.
Was bei mir in Spalte B steht, ist in Wirklichkeit mit Tabulatoren von "Empfänger" und "Lieferavis" getrennt.
Ich hatte es versucht mit Leerzeichen darzustellen, die werden aber beim Speichern des Beitrags gelöscht


Ich hätte nun gerne lediglich die Information die "rechts" von Empfänger steht -> Mas Mustermann, ausgegeben.
Leider komme ich überhaupt nicht klar.

Ich würde mich wirklich sehr über Eure Hilfe freuen.
Schon jetzt vielen Dank für Eure Mühe!
Viele Grüße
Alexander
 

zerix

Hausmeister
Moderator
Hallo,

da der Regex eigentlich sehr simple ist, falls ich das Problem richtig verstanden habe, ich es aber nicht mag, sofort die Lösung zu posten, wollte ich mal fragen, was du denn bisher hast.

Viele Grüße
Sascha
 

schmidt_as

Grünschnabel
Guten Morgen,
ich lade einfach mal die Datei aus dem DMS hoch.
Alle Daten die nicht von Interesse sind, hab ich mal geschwärzt.
 

Anhänge

  • Unbenannt.JPG
    Unbenannt.JPG
    58 KB · Aufrufe: 4

Yaslaw

n/a
Moderator
Das hilft nicht weiter. Du solltest einen Text zur Verfügung stellen, mit dem man ein Beispiel basteln kann.

Anhand deiner Angaben habe ich mal einen schnellen Entwurf gemacht. Ich bin mir aber sicher, dass es nicht das ist, was du suchst: Mein Test für dich bei regex101
 

schmidt_as

Grünschnabel
Hallo Yaslaw,

dein Code funktioniert schon sehr gut.
Allerdings gibt er den kompletten Text wieder.
Ich benötige jedoch nur Max Mustermann
Lässt sich das noch etwas genauer eingrenzen und evtl. sogar auf die Zeile in der Empfänger steht?
 

Yaslaw

n/a
Moderator
Wahrscheinlich schon. Dazu müsste ich dein Text aber als Originaltext haben und nicht eine Interpretation meinerseits. Bei RegEx ist es halt ein Unterschied, ob man ein Leerzeichen oder 2 oder ein Tabulator etc. hat.
 

schmidt_as

Grünschnabel
Wenn ich das richtig verstehe, sprichst du von Regex innerhalb von EcoDMS.
Vielleicht hilft das:
https://www.ecodms.de/index.php/de/...essions-regex-im-vorlagen-designer-von-ecodms

Dein Tipp ist gar nicht schlecht. ;)
Die Seite hab ich ehrlicherweise noch nicht gefunden gehabt.
Zu meiner Entschuldigung muss ich aber anmerken, dass mein Problem selbst durch den Support von ecoDMS nicht gelöst werden konnte. Scheinbar kennen auch die Jungs dort, die Seite nicht so wirklich.

Jedenfalls funktioniert der Code:
Code:
:(?i)(?<=Empfänger)([\s]*)\b([\S]*)\b
schon mal sehr gut.
Nur hört er nach Max auf und erkennt nicht den Nachnamen.

Wie bekommt man den Code so hin, dass er nach dem Leerzeichen nach dem Vornamen noch einen weiteren Ausdruck findet und erst nach diesem Leerzeichen stoppt?

Schon jetzt vielen Dank für eure Hilfe
 

Yaslaw

n/a
Moderator
Wenn du noch den Tabulator und das Leerzeichen dazu nimmts, dann findet er bis ans Ende der Zeile.
Code:
:(?i)(?<=Empfänger)([\s]*)\b([\S\t ]*)\b