Jocknerd wrote: > pattern = re.compile(r'^(.*\D\d+\D\d+)\D(.*)\D(.*\d+)\D(.*)\D(.*\d+)(.*)$') Though I think that's esthetically poor. The .* groups will cause a lot of backtracking. Andrew dalke at dalkescientific.com