Hallo miteinander
ich versuche eine DOIF Definition zu machen, in der ein Dummy ein Wert bekommt, der einen Teil eines Readings beinhaltet. Mein Ansatz bis jetzt:
( [My_Calendar_View:t_001_summary] =~ "^(\\w+)\\s") (set a_dummy [$1]) DOELSE (set a_dummy "Nichts gefunden")
Die Regex funktioniert (mit \\w anstatt \w), aber ich habe nichts über Capture Groups gefunden in den Dokumenten, und weder $1, noch [$1] oder {$1} geht.
Kann mir da jemand weiterhelfen? Geht das überhaupt?
Herzlichen Dank.
Zitat von: yogi am 11 Februar 2018, 21:14:35
Hallo miteinander
ich versuche eine DOIF Definition zu machen, in der ein Dummy ein Wert bekommt, der einen Teil eines Readings beinhaltet. Mein Ansatz bis jetzt:
( [My_Calendar_View:t_001_summary] =~ "^(\\w+)\\s") (set a_dummy [$1]) DOELSE (set a_dummy "Nichts gefunden")
Die Regex funktioniert (mit \\w anstatt \w), aber ich habe nichts über Capture Groups gefunden in den Dokumenten, und weder $1, noch [$1] oder {$1} geht.
Kann mir da jemand weiterhelfen? Geht das überhaupt?
Herzlichen Dank.
Der Adressraum der Bedingung und des Ausführungsteils ist getrennt, daher ist $1 aus der Bedingung im Ausführungsteil nicht anwendbar.
Du könntest [My_Calendar_View:t_001_summary] im Ausführungsteil nochmal auswerten:
set a_dummy {("[My_Calendar_View:t_001_summary]" =~ "^(\\w+)\\s";$1)}
Herzlichen Dank für die schnelle Antwort, das macht wohl auch Sinn.
Ich habe es jetzt so gelöst:
define My_Guest_DOIF DOIF
([My_Calendar_View:t_001_summary])
(set My_Guest_Name [My_Calendar_View:t_001_summary:"^(\w+)":"$1"], set My_Guest_Reservation [My_Calendar_View:t_001_summary:"\(?(\w+)\)?$":"$1"])