Umfrage zu Weiterbildungsgewohnheiten

Wir möchten unsere Schulungs- und Weiterbildungsangebote für Sie noch besser auf Ihre Bedürfnisse abstimmen: Wie lernen Sie am liebsten? Über welche Formate möchten Sie sich am liebsten zu tomedo® weiterbilden? Und welche Themen interessieren Sie besonders?

Teilen Sie es uns mit! Nehmen Sie sich gerne 5 Minuten Zeit, um unsere 10 kurzen Fragen zu beantworten. So können wir herausfinden, welche Unterstützung für Sie am wertvollsten ist.

Vielen Dank für Ihre Mithilfe!

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 (39.4k 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 (28.5k 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
20,160 Beiträge
28,632 Antworten
51,900 Kommentare
34,792 Nutzer