Freddie wrote: > Happy new year! Since I have run out of alcohol, I'll ask a question that I > haven't really worked out an answer for yet. Is there an elegant way to turn > something like: > > > moo cow "farmer john" -zug > > into: > > ['moo', 'cow', 'farmer john'], ['zug'] > > I'm trying to parse a search string so I can use it for SQL WHERE > constraints, > preferably without horrifying regular expressions. Uhh yeah.
The shlex approach, finished: searchstring = 'moo cow "farmer john" -zug' lexer = shlex.shlex(searchstring) lexer.wordchars += '-' poslist, neglist = [], [] while 1: token = lexer.get_token() # token is '' on eof if not token: break # remove quotes if token[0] in '"\'': token = token[1:-1] # select in which list to put it if token[0] == '-': neglist.append(token[1:]) else: poslist.append(token) regards, Reinhold -- http://mail.python.org/mailman/listinfo/python-list