# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility
import re
regex = r"([\w]+)\s([\w.]+)\s([\w.]+)\(([\w ,$]*)\)\s{\s*throw\snew\sIllegalStateException\(\"An\serror\soccurred\swhile\sdecompiling\sthis\smethod.\"\);\s*}"
test_str = (" public TextStyleSettings clone() {\n"
" final TextStyleSettings textStyleSettings = new TextStyleSettings(this.color.getPercentageProviderService());\n"
" this.fillClone(textStyleSettings);\n"
" return textStyleSettings;\n"
" }\n"
" \n"
" protected void fill(final String p0, final int p1, final int p2, final int p3, final Boolean p4, final int p5, final float p6, final BlurMaskFilter$Blur p7, final String p8, final boolean p9, final IPercentageProviderService p10) {\n"
" throw new IllegalStateException(\"An error occurred while decompiling this method.\");\n"
" }\n"
" \n"
" protected void fillClone(final TextStyleSettings textStyleSettings) {\n"
" textStyleSettings.setSize(this.size);\n"
" textStyleSettings.setStyle(this.style);\n"
" textStyleSettings.setCaseStyle(this.caseStyle);\n"
" textStyleSettings.setTemporaryCaseStyleOverride(this.temporaryCaseStyleOverride);\n"
" textStyleSettings.setColor(this.color);\n"
" textStyleSettings.setUseSystemColor(this.useSystemColor);\n"
" textStyleSettings.setBlurRadius(this.blurRadius);\n"
" textStyleSettings.setBlurStyle(this.blurStyle);\n"
" textStyleSettings.setFamily(this.fontFamily);\n"
" textStyleSettings.setFontFile(this.fontFile);\n"
" textStyleSettings.setTemporaryFontFileOverride(this.temporaryFontFileOverride);\n"
" textStyleSettings.setUnderline(this.underline);\n"
" }")
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