PYTHON - Capture contents inside curly braces

You can try with this:

\{(.*?)\}

Explanation

  1. \{ matches the character { literally (case sensitive)
  2. (.*?) 1st Capturing Group
  3. .*? matches any character
  4. *? Quantifier — Matches between zero and unlimited times, as few times as possible, expanding as needed (lazy)
  5. \} matches the character } literally (case sensitive)

Sample Code to extract content inside curly bracket:

 import re

regex = r"\{(.*?)\}"

test_str = ("Server_1 {\n"
    "/directory1 /directory2\n\n"
    "}\n"
    "Server_2 {\n\n"
    "/directory1\n\n"
    "/directory2\n\n"
    "}")

matches = re.finditer(regex, test_str, re.MULTILINE | re.DOTALL)

for matchNum, match in enumerate(matches):
    for groupNum in range(0, len(match.groups())):
        print (match.group(1))

Run the code here