Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #33553

Re: Robust regex

References <assp.06702d7ae4.92097A6A775D5147B1078E3F15430B92348EA96E@prato.activenetwerx.local>
Date 2012-11-20 07:42 +1100
Subject Re: Robust regex
From Chris Angelico <rosuav@gmail.com>
Newsgroups comp.lang.python
Message-ID <mailman.9.1353357750.29569.python-list@python.org> (permalink)

Show all headers | View raw


On Tue, Nov 20, 2012 at 7:32 AM, Joseph L. Casale
<jcasale@activenetwerx.com> wrote:
> 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!

Is regex a requirement? Since you posted this on python-list, I'm
going to assume you're working in Python.

string = 'key_1|||value_1||||key_2|||value_2'
content = dict(map(lambda x: x.split("|||"),string.split("||||")))

--> {'key_1': 'value_1', 'key_2': 'value_2'}

ChrisA

Back to comp.lang.python | Previous | Next | Find similar | Unroll thread


Thread

Re: Robust regex Chris Angelico <rosuav@gmail.com> - 2012-11-20 07:42 +1100

csiph-web