use util.format()
drop re.lastIndex