let rec seek_and_replace dl dr s =
let pat = Str.regexp ("\\(.*\\)" ^ dl ^ "\\(.*\\)" ^ dr ^ "\\(.*\\)$") in
if Str.string_match pat s 0 then
let lp, xp, rp = Str.matched_group 1 s, Str.matched_group 2 s, Str.matched_group 3 s in
seek_and_replace dl dr (lp ^ (eval xp) ^ rp)
else
s