p = re.compile(
    '(?P<permissions>[d-][rwx-]{9})\\s{1,20}(?P<links>\\d{1,8})\\s{1,20}(?P<owner>[\\w-]{1,16})\\s{1,20}(?P<group>[\\w-]{1,16})\\s{1,20}(?P<size>[0-9]{1,16})\\s{1,20}(?P<month>[A-Za-z]{0,3})\\s{1,20}(?P<date>[0-9]{1,2})\\s{1,20}(?P<timeyear>[\\d:]{4,5})\\s{1,20}(?P<filename>[\\s\\w.-]+?)(?=[drwx-]{10}|$)'
    )
test_str = (
    '-rw-r--r--   1 owner    group        75148624 Jan  6  2015 somename.csv-rw-r--r--   1 owner    group       223259072 Feb 26  2015 somename.csv-rw-r--r--   1 owner    group         4041411 Jun  5  2015 somename-adjusted.csv-rw-r--r--   1 owner    group         2879228 May 13  2015 somename.csv-rw-r--r--   1 owner    group        11832668 Feb 13  2015 somename.csv-rw-r--r--   1 owner    group         1510522 Feb 19  2015 somename.csv-rw-r--r--   1 owner    group         2826664 Feb 25  2015 somename.csv-rw-r--r--   1 owner    group          582985 Feb 26  2015 somename.csv-rw-r--r--   1 owner    group          212427 Feb 26  2015 somename.csv-rw-r--r--   1 owner    group         3015592 Feb 27  2015 somename.csv-rw-r--r--   1 owner    group          103576 Feb 27  2015 somename-corrected.csv'
    )
re.findall(p, test_str)
Python Regular expression Lookahead overshooting pattern