python - Parsing named nested expressions with pyparsing -


i'm trying parse data using pyparsing looks (more or less) this:

user.name = dave user.age  = 42 date      = 2015/01/01 begin component list   begin component 2     1 data   = value     2 key = 999   end component 2   begin component     a.key = 42   end component end component list begin moredata     = keypair end moredata 

i've found similar examples, i've not done myself.

parsing file curley brakets parse line data until keyword pyparsing

here's have far, keep hitting error similar to: pyparsing.parseexception: expected "end" (at char 26), (line:5, col:1)

from pyparsing import *  data = '''begin hello world end '''  opener = literal('begin') + word(alphas) closer = literal('end') + word(alphas) content = combine(oneormore(~opener                             + ~closer                             + charsnotin('\n', exact=1))) expr = nestedexpr(opener=opener, closer=closer, content=content)  parser = expr  res = parser.parsestring(data) print(res) 

it's important the words after "begin" captured, these names of dictionaries, key-value pairs. there number after opener, e.g. "begin component 2" "2" number of pairs don't need (presumably used original software?). similarly, don't need numbers in list (the "1" , "2").

is nestedexpr correct approach this?


Comments

Popular posts from this blog

shopping cart - Page redirect not working PHP -

php - How to modify a menu to show sub-menus -

python - Installing PyDev in eclipse is failed -