regexp for sequence of quoted strings

Paul McGuire ptmcg at austin.rr.com
Sat May 28 01:29:17 EDT 2005


George -

Thanks for your enthusiastic endorsement!

Here are some quibbles about your pyparsing grammar (but really, not
bad for a first timer):
1. The Word class is used to define "words" or collective groups of
characters, by specifying what sets of characters are valid as leading
and/or body chars, as in:
  integer = Word(digitsFrom0to9)
  firstName = Word(upcaseAlphas, lowcaseAlphas)
In your parser, I think you want the Literal class instead, to match
the literal string '{'.

2. I don't think there is any chance to confuse a withQuotes with a
withoutQuotes, so you can try using the "match first" operator '|',
rather than the greedy matching "match longest" operator '^'.

3. Lastly, don't be too quick to use asList() to convert parse results
into lists - parse results already have most of the list accessors
people would need to access the returned matched tokens.  asList() just
cleans up the output a bit.

Good luck, and thanks for trying pyparsing!
-- Paul




More information about the Python-list mailing list