Yes indeed, the real data often has surprising differences from the simulations! :)
It turns out that pyparsing LineStart()'s are pretty fussy. Usually, pyparsing is very forgiving about whitespace between expressions, but it turns out that LineStart *must* be followed by the next expression, with no leading whitespace. Fortunately, your syntax is really quite forgiving, in that your key-value pairs appear to always be an unquoted word (for the key) and a quoted string (for the value). So you should be able to get this working just by dropping the LineStart()'s from your expressions, that is: identLine=('Identifier' + prs.quotedString + prs.LineEnd() ).setResultsName('prog') tableLine=('Value' + prs.quotedString + prs.LineEnd() ).setResultsName('table') See if that works any better for you. -- Paul -- http://mail.python.org/mailman/listinfo/python-list