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

Tim Chase python.list at tim.thechases.com
Thu Jul 10 22:37:00 EDT 2014


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






More information about the Python-list mailing list