In <mailman.7.1353357285.29569.python-l...@python.org> "Joseph L. Casale" <jcas...@activenetwerx.com> writes:
> Trying to robustly parse a string that will have key/value pairs separated > by three pipes, where each additional key/value (if more than one exists) > will be delineated by four more pipes. > string = 'key_1|||value_1||||key_2|||value_2' > regex = '((?:(?!\|\|\|).)+)(?:\|\|\|)((?:(?!\|\|\|).)+)(?:\|\|\|\|)?' > I am not convinced this is the most effective or safest, any opinions would > be greatly appreciated! Regexes may be overkill here. A simple string split might be better: string = 'key_1|||value_1||||key_2|||value_2' pairs = string.split('||||') for pair in pairs: keyval = pair.split('|||') print '%s=%s' % (keyval[0], keyval[1]) -- John Gordon A is for Amy, who fell down the stairs gor...@panix.com B is for Basil, assaulted by bears -- Edward Gorey, "The Gashlycrumb Tinies" -- http://mail.python.org/mailman/listinfo/python-list