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


Groups > comp.lang.python > #74340

Re: How to decipher :re.split(r"(\(\([^)]+\)\))" in the example

From Roy Smith <roy@panix.com>
Newsgroups comp.lang.python
Subject Re: How to decipher :re.split(r"(\(\([^)]+\)\))" in the example
Date 2014-07-10 23:33 -0400
Organization PANIX Public Access Internet and UNIX, NYC
Message-ID <roy-AAB0F1.23332710072014@news.panix.com> (permalink)
References <981c1f5f-2c19-4efc-8397-796bde07f39b@googlegroups.com> <mailman.11746.1405042179.18130.python-list@python.org> <roy-CC0052.22182710072014@news.panix.com> <mailman.11747.1405046292.18130.python-list@python.org>

Show all headers | View raw


In article <mailman.11747.1405046292.18130.python-list@python.org>,
 Tim Chase <python.list@tim.thechases.com> wrote:

> On 2014-07-10 22:18, Roy Smith wrote:
> > > Outside this are \( and \): these are literal opening and closing
> > > bracket characters. So:
> > > 
> > >    \(\([^)]+\)\)
> >
> > although, even better would be to use to utterly awesome
> >> re.VERBOSE 
> > flag, and write it as:
> > 
> >      \({2} [^)]+ \){2}
> 
> Or heck, use a multi-line verbose expression and comment it for
> clarity:
> 
>   r = re.compile(r"""
>     (            # begin a capture group
>      \({2}       # two literal "(" characters
>      [^)]+       # one or more non-close-paren characters
>      \){2}       # two literal ")" characters
>     )            # close the capture group
>     """, re.VERBOSE)
> 
> -tkc

Ugh.  That reminds me of the classic commenting anti-pattern:

l = []                  # create an empty list
for i in range(10):     # iterate over the first 10 integers
    l.append(i)         # append each one to the list

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


Thread

How to decipher :re.split(r"(\(\([^)]+\)\))" in the example fl <rxjwg98@gmail.com> - 2014-07-10 08:37 -0700
  Re: How to decipher :re.split(r"(\(\([^)]+\)\))" in the example Peter Otten <__peter__@web.de> - 2014-07-10 18:49 +0200
  Re: How to decipher :re.split(r"(\(\([^)]+\)\))" in the example MRAB <python@mrabarnett.plus.com> - 2014-07-10 18:01 +0100
  Re: How to decipher :re.split(r"(\(\([^)]+\)\))" in the example Joel Goldstick <joel.goldstick@gmail.com> - 2014-07-10 13:05 -0400
  Re: How to decipher :re.split(r"(\(\([^)]+\)\))" in the example Albert-Jan Roskam <fomcl@yahoo.com> - 2014-07-10 12:15 -0700
  Re: How to decipher :re.split(r"(\(\([^)]+\)\))" in the example Cameron Simpson <cs@zip.com.au> - 2014-07-11 11:29 +1000
    Re: How to decipher :re.split(r"(\(\([^)]+\)\))" in the example Roy Smith <roy@panix.com> - 2014-07-10 22:18 -0400
      Re: How to decipher :re.split(r"(\(\([^)]+\)\))" in the example Tim Chase <python.list@tim.thechases.com> - 2014-07-10 21:37 -0500
        Re: How to decipher :re.split(r"(\(\([^)]+\)\))" in the example Roy Smith <roy@panix.com> - 2014-07-10 23:33 -0400
          Re: How to decipher :re.split(r"(\(\([^)]+\)\))" in the example Chris Angelico <rosuav@gmail.com> - 2014-07-11 14:31 +1000
          Re: How to decipher :re.split(r"(\(\([^)]+\)\))" in the example alister <alister.nospam.ware@ntlworld.com> - 2014-07-11 08:00 +0000
          Re: How to decipher :re.split(r"(\(\([^)]+\)\))" in the example Steven D'Aprano <steve@pearwood.info> - 2014-07-11 09:04 +0000
            Re: How to decipher :re.split(r"(\(\([^)]+\)\))" in the example Albert-Jan Roskam <fomcl@yahoo.com> - 2014-07-11 08:18 -0700

csiph-web