On Apr 24, 12:30 pm, Nick Craig-Wood <[EMAIL PROTECTED]> wrote: > > Someone normally chimes in with pyparsing at this point... >
Well it *is* a short pyparsing routine, after all... -- Someone tests = """\ ("." ".." "cdslib_cleanup.py" "cadence.py" "cdsinit_cdsenv_cleanup.py") ("." ("cadence.py" "foo_cleanup.py") "cdslib_cleanup.py" "cadence.py" "cdsinit_cdsenv_cleanup.py") """.splitlines() import pyparsing as pp LPAR,RPAR = map(pp.Suppress,"()") list_ = pp.Forward() list_ << ( LPAR + pp.ZeroOrMore( pp.quotedString | pp.Group(list_) ) + RPAR ) for t in tests: result = list_.parseString(t) print result.asList() Prints: ['"."', '".."', '"cdslib_cleanup.py"', '"cadence.py"', '"cdsinit_cdsenv_cleanup.py"'] ['"."', ['"cadence.py"', '"foo_cleanup.py"'], '"cdslib_cleanup.py"', '"cadence.py"', '"cdsinit_cdsenv_cleanup.py"'] -- http://mail.python.org/mailman/listinfo/python-list