nullihb
Goto Top

REGEX Hilfe benötigt

Moin Zusammen

Ich bin echt kein Spezi in Regex und freu mich das ich schon so weit gekommen bin....

Habe 2 Teile die eigentlich das tun was sie sollen

REGEX:(Muster Text)
REGEX:(?i)(?<=Datum: )([\s]*)\b([\S]*)\b

Mein Problem nun... Ich brauch das in einer Zeile
Aber
(Muster Text)(?i)(?<=Datum: )([\s]*)\b([\S]*)\b


Bringt mir kein Ergebnis.

Hab was gelesen von XY aber ich kann nicht sagen wie ich das anwende.

Kann mir wer helfen?

Content-Key: 2244329454

Url: https://administrator.de/contentid/2244329454

Printed on: April 27, 2024 at 18:04 o'clock

Member: BirdyB
BirdyB Mar 21, 2022 at 20:18:39 (UTC)
Goto Top
Moin,
liefere uns doch mal bitte einen Beispieldatensatz. Und in welcher Programmiersprache möchtest du die Regex nutzen?

VG
Member: NulliHB
NulliHB Mar 21, 2022 updated at 20:35:09 (UTC)
Goto Top
Hi Birdy

Muster Text Musterstraße 22B 11111 Musterhausen Fon: 04321 / 123456 Fax: 04321 / 23356 vertrieb@muster-text.de www.muster-text.de Kunden-Nr.: 023456 USt-IdNr.: DE111111111 Bestell-Nr.: 343213 Datum: 13.12.2021

Laut dem Hersteller der Software... Regex Javascript
Mitglied: 1915348599
1915348599 Mar 21, 2022 updated at 21:19:50 (UTC)
Goto Top
Laut dem Hersteller der Software... Regex Javascript
https://tio.run/##XZBNTsNADIX3OYV3nRRlkpkpCLVURVWphBBsgFXTxZBYNCg/aMb5uQ ...
Member: cykes
cykes Mar 22, 2022 updated at 04:21:55 (UTC)
Goto Top
Moin,

Zitat von @1915348599:
Laut dem Hersteller der Software... Regex Javascript
(Link entfernt)
Wenn ich ihn richtig verstanden habe, möchte er vor dem herausgezogenen Datum noch den "Muster Text" stehen haben.
Also erwartete Ausgabe: Muster Text 13.12.2021
Das bekomme ich spontan ohne irgendwelche Anhaltspunkte (bspw. Länge Mustertext oder irgendwelche eindeutigen Trennzeichen) auch nicht hin. face-wink

@NulliHB Kann die Software die Datensätze nicht als CSV o.ä. ausspucken, damit man Feld-Trennzeichen hat?

Gruß

cykes
Mitglied: 1915348599
1915348599 Mar 22, 2022 updated at 05:45:01 (UTC)
Goto Top
Zitat von @cykes:

Moin,

Zitat von @1915348599:
Laut dem Hersteller der Software... Regex Javascript
(Link entfernt)
Wenn ich ihn richtig verstanden habe, möchte er vor dem herausgezogenen Datum noch den "Muster Text" stehen haben.
Also erwartete Ausgabe: Muster Text 13.12.2021
Das bekomme ich spontan ohne irgendwelche Anhaltspunkte (bspw. Länge Mustertext oder irgendwelche eindeutigen Trennzeichen) auch nicht hin. face-wink

Na das ist doch auch kein Thema mit nem Submatch
https://tio.run/##XZBNTsMwEIX3OcWITZNGcWq7INQKgapSCSG6AVZJFiYZ0aDEQbbzcx ...

Frage ist eher warum sollte er "Muster Text" auch haben wollen wenn er den "festen definierten Text" den er in den Regex schreibt ja schon vorher kennt 🙃.

Naja ist halt mal wieder Glaskugel Bowling der besonderen Art, wie so oft hier wenn die Leute nur die Hälfte an Infos verraten🖖
Member: cykes
cykes Mar 22, 2022 at 05:45:22 (UTC)
Goto Top
Zitat von @1915348599:

Zitat von @cykes:

Moin,

Zitat von @1915348599:
Laut dem Hersteller der Software... Regex Javascript
(Link entfernt)
Wenn ich ihn richtig verstanden habe, möchte er vor dem herausgezogenen Datum noch den "Muster Text" stehen haben.
Also erwartete Ausgabe: Muster Text 13.12.2021
Das bekomme ich spontan ohne irgendwelche Anhaltspunkte (bspw. Länge Mustertext oder irgendwelche eindeutigen Trennzeichen) auch nicht hin. face-wink

Na das ist doch Pillepalle mit nem Submatch
https://tio.run/##XZBNTsMwEIX3OcWITZNGcWq7INQKgapSCSG6AVZJFiYZ0aDEQbbzcx ...

Frage ist eher warum sollte er "Muster Text" auch haben wollen wenn er den festen Text schon ja schon vorher kennt 🙃
Ist ja nur ein Beispiel, ich vermute "Muster Text" kann beliebig lang sein, beliebig viele Leerzeichen enthalten und ist freier Text (bspw. eine Artikelbeschreibung), der keinem festen Muster folgt.
Da funktioniert die Trennung von der Adresse nicht so gut face-wink
Member: NulliHB
NulliHB Mar 22, 2022 at 08:06:46 (UTC)
Goto Top
Guten Morgen und vielen Dank für die Antworten

Sorry hätte gerne mehr geschrieben wenn ich gedacht hätte das es in dem Falle von Relevanz wäre.

Um ein wenig Licht ins Dunkel zu bekommen. Es handelt sich um ein DMS. Ich möchte halt in der Bemerkungszeile der Klassifizierung den Namen der Firma und das Datum anzeigen lassen. In dem Beispiel ist es eine Rechnung.
Ja das DMS hat eine Volltext suche und man benötigt es sicher nicht um die Rechnung zu finden aber es ist Benutzerfreundlicher wenn die Info schon in der Bemerkung steht.

Hab die 2 Links getestet in regex101.com.... leider habe ich kein Match wenn ich das einbaue.

Also im Detail was ich versuche: Einen Text auslesen. Muster Text ist in dem Falle die Firma. Und das Datum.
Der Inhalt variiert leider immer. Also unterm Strich. Ich möchten den Anfang und das Ende vom Text als Ergebnis.
Member: BirdyB
BirdyB Mar 22, 2022 at 09:26:42 (UTC)
Goto Top
Moin,

grundsätzlich musst du erstmal sehen, dass Regex "dumm" ist. Regex kann nur an Hand von sehr klaren Kriterien Strings zerlegen.
Du musst also ein klares Kriterium liefern, an Hand dessen zu erkennen ist, dass der Firmenname zu Ende ist.
Das können in diesem Fall Trennzeichen oder eine feste Anzahl von Stellen sein. Das Datum ist recht klar daran zu erkennen, dass ja schon "Datum:" davor steht.
Zum Thema DMS: Hört sich ziemlich nach ELO an... Grundsätzlich würde ich empfehlen für das Datum ein eigenes Klassifizierungsfeld zu nutzen. Denn so kannst du auch einfacher auf fällige Rechnungen filtern, Wiedervorlagen einrichten, etc.
Ggf. solltest du deine Strategie diesbezüglich nochmal überdenken und falls du es doch wie von dir beschrieben umsetzen willst, müsstest du uns klarere Kriterien benennen können.

VG
Mitglied: 1915348599
Solution 1915348599 Mar 22, 2022 updated at 09:37:55 (UTC)
Goto Top
Da von ausgehend das die Straße immer als zweites nach dem Namen kommt und auch eine Straßen-Nummer besitzt, schau dir das mal an:
https://regex101.com/r/rcUgkp/1
Pro Match ist Submatch 1 der Name und Submatch 2 das Datum.
Fällt aber auch auf die Nase wenn der Straßenname mit Space vorhanden ist, dazu sind die Varianten von Namen und Straßen zu vielfältig.

Richtig zuverlässig wird das aber nur wenn man hier zusätzlich einen Abgleich von Straßennamen macht, oder mit KI arbeitet. Ich würde hier wie @cykes schon angemerkt wenn möglich hat die Quelldaten schon besser mit Trennzeichen versehen lassen, sonst wirst du immer kontrollieren noch müssen.