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
Post a Comment