import re
regex = re.compile(r"{% comment %}.*{% endcomment %}", flags=re.MULTILINE | re.DOTALL)
test_str = ("--font-heading: {{ settings.header_font_1_1.family }};\n"
"--font-standard: {{ settings.general_font_1_1.family }};\n\n"
" --body-font-size: {{settings.body_font_size}}px;\n"
" --font-small: 14px;\n"
" --font-medium: 17px;\n"
" --font-bold: 300;\n"
" --size-h1: {{settings.heading_size_1}}px;\n"
" --size-h2: {{settings.heading_size_2}}px;\n"
" --size-h3: {{settings.heading_size_3}}px;\n"
" --size-h4: {{settings.heading_size_4}}px;\n"
" --size-h5: {{settings.heading_size_5}}px;\n"
" --size-h6: {{settings.heading_size_6}}px;\n"
" --top-font-size: {{settings.top_bar_size}}px;\n"
" --product-font-size: {{settings.product_title_size}}px;\n"
" --product-price-size: {{settings.product_price_size}}px;\n"
" --footer-size: {{ settings.footer_font_size }}px;\n"
" {% comment %} --home-title-font-size: {{settings.home_title_size}}px; {% endcomment %}\n"
" --product-detail-title-size: {{settings.product_detail_title_size}}px;\n\n"
" --font-icon : 20px;\n"
" --font-small-icon: 21px;\n")
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