use Text.Regex.TDFA