import re
regex = re.compile(r"(?<=\/\/\s*COLORS)[\r\n]+(.*)(?=\/\/\s*END\s*COLORS)", flags=re.MULTILINE | re.DOTALL)
test_str = ("// COLORS\n"
"$nipiter-green : #158C3F;\n"
"$green : #048e3c;\n"
"$light-green : #C4E2CF;\n"
"$nipiter-red : #e11b1c;\n"
"$dark-red : #a11b1b;\n"
"$black : #000000;\n"
"$dark-gray : #4c4c4c;\n"
"$gray : #e4e4e4;\n"
"$white : #ffffff;\n"
"$transparent-white : rgba(255, 255, 255, 0.59);\n"
"$feminist-purple : #2a1736;\n\n"
"$yellow : #ffff73;\n"
"$twitter-blue : #5a8dbd;\n"
"$facebook-blue : #184f83;\n"
"// END COLORS")
matches = regex.finditer(test_str)
for match_num, match in enumerate(matches, start=1):
print(f"Match {match_num} was found at {match.start()}-{match.end()}: {match.group()}")
for group_num, group in enumerate(match.groups(), start=1):
print(f"Group {group_num} found at {match.start(group_num)}-{match.end(group_num)}: {group}")
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