OTK Störung - IONOS als Mailserver®
Alle Hinweise und Informationen finden Sie unter folgendem Link.

BEDINGTE Freigabe der macOS Version Sequoia für tomedo®
Alle Hinweise und Informationen finden Sie unter folgendem Link.

Eine Frage an die Regex Experten.

Folgende GDT lese ich aus.

|Venöse Kapazität [ml/100ml] | 5.2 | 5.0 |

|Venöser Abstrom [ml/100ml/min] | 70.0 | 58.5 |

|Arterieller Einstrom [ml/100ml/min]| 5.3 | 4.1 |

 

$[regex \|\Venöse\sKapazität\s\[ml\/100ml\]\s+\|\s+([0-9.]+)\s+\|\s+[0-9.]+ x TXT 1 _ inf NN NNNN NNNN _ K 0]$

liefert als Ergebnis die Venöse Kapazität 5.2

aber auch

$[regex \|\Arterieller\sEinstrom\s\[ml\/100ml\/min]|\s+([0-9.]+)\s+\|\s+[0-9.]+ x TXT 1 _ inf NN NNNN NNNN _ K 0]$

liefert das gleiche Ergebnis, sollte aber den Arteriellen Einstrom mit dem Ergebnis 5.3 liefern.

Die Zuordnung für venöse Kapzität und Einstrom funktionieren.

Im Regex Tester klappt es aber.

\|\Arterieller\sEinstrom\s\[ml\/100ml\/min]|\s+([0-9.]+)\s+\|\s+[0-9.]+

liefert bei 

|Arterieller Einstrom [ml/100ml/min]|     5.3     |      4.1    |

5.3   als Ergebnis

Hat jemand eine Idee, woran das liegt, dass Tomedo da Fehler macht?

 

Wenn man die erste Zeile mit der venösen Kapzität löscht, wird der venöse Abstrom im Ergebnis für den arteriellen Einstrom ausgeworfen.

 

Gefragt in Frage von (36.5k Punkte)
0 Punkte

1 Antwort

Versuchen Sie mal
\|Arterieller\sEinstrom\s\[ml\/100ml\/min\]\|\s+([0-9.]+)\s+\|\s+[0-9.]+
statt
\|\Arterieller\sEinstrom\s\[ml\/100ml\/min]|\s+([0-9.]+)\s+\|\s+[0-9.]+

Bei Ihnen wurde das nicht escapete "|" als ODER interpretiert.
Bei https://regex101.com/ hat Ihre Variante auch 5.2 als erstes group-Match geliefert, wenn der ganze Datei-Inhalt als Test-String genommen wurde ...

Beantwortet von (25.8k Punkte)
0 Punkte
Vielen Dank Herr Bürger,

das war´s

Bei den übrigen Einträgen hat es funktioniert, da habe ich es ja auch richtig gemacht.

Mit dem "\" soll die Pipe "|" ignoriert werden.

Im Regex Tester hat das funktioniert, nur wenn noch andere Werte in der GDT Datei stehen hat er immer die erste Zeile ausgewertet. Warum da überhaupt ein Wert ausgegeben wird, ist mir schleierhaft.

Regex ist verdammt schwer und gemein
18,350 Beiträge
26,608 Antworten
47,696 Kommentare
28,563 Nutzer