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