Skip to content Skip to sidebar Skip to footer

Python Regex: To Capture All Words Within Nested Parentheses

I am trying to extract all words within nested parentheses by using regex. Here is an example of my .txt file: hello (( (alpha123_4rf) 45beta_Frank)) Red5Great_Sam_Fun I have tri

Solution 1:

If the parantheses are directly following each other, this simpler solution would also do it:

def find_brackets(text):
    rx = "(?s)\(\((.+)\)\)"
    z = re.search(rx,text)
    if z: 
        return  z[0] 
    else: 
        return ''

Solution 2:

Try this pattern (?s)\([^(]*\((.+)\)[^)]*\)

Explanation:

(?s) - flag: single line mode - . matches also newline character

\( - match ( literally

[^(]* - match zero or more characters other from (

\( - match ( literally

(.+) - match one or mroe of any characters and store it inside first capturing group

\) - match ) literally

[^)]* - match zero or more characters other from )

\) - match ) literally

Demo


Post a Comment for "Python Regex: To Capture All Words Within Nested Parentheses"