# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility
import re
regex = r"\{([^\{\}]|(?R))*\}"
test_str = ("Wind energy is the kinetic energy of air in motion, also called wind. Total wind energy flowing through an imaginary surface with area A during the time t is:\n"
"{\\displaystyle E={\\frac {1}{2}}mv^{2}={\\frac {1}{2}}(Avt\\rho )v^{2}={\\frac {1}{2}}At\\rho v^{3},} E={\\frac {1}{2}}mv^{2}={\\frac {1}{2}}(Avt\\rho )v^{2}={\\frac {1}{2}}At\\rho v^{3},[248]\n"
"where ρ is the density of air; v is the wind speed; Avt is the volume of air passing through A (which is considered perpendicular to the direction of the wind); Avtρ is therefore the mass m passing through \"A\". Note that ½ ρv2 is the kinetic energy of the moving air per unit volume.\n"
"Power is energy per unit time, so the wind power incident on A (e.g. equal to the rotor area of a wind turbine) is:\n"
"{\\displaystyle P={\\frac {E}{t}}={\\frac {1}{2}}A\\rho v^{3}.} P={\\frac {E}{t}}={\\frac {1}{2}}A\\rho v^{3}.[248]\n"
"Wind power in an open air stream is thus proportional to the third power of the wind speed; the available power increases eightfold when the wind speed doubles. Wind turbines for grid electric power therefore need to be especially efficient at greater wind speeds.")
matches = re.finditer(regex, test_str)
for matchNum, match in enumerate(matches, start=1):
print ("Match {matchNum} was found at {start}-{end}: {match}".format(matchNum = matchNum, start = match.start(), end = match.end(), match = match.group()))
for groupNum in range(0, len(match.groups())):
groupNum = groupNum + 1
print ("Group {groupNum} found at {start}-{end}: {group}".format(groupNum = groupNum, start = match.start(groupNum), end = match.end(groupNum), group = match.group(groupNum)))
# Note: for Python 2.7 compatibility, use ur"" to prefix the regex and u"" to prefix the test string and substitution.
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Python, please visit: https://docs.python.org/3/library/re.html