import re
regex = re.compile(r"[Aa]", flags=re.MULTILINE)
test_str = ("Регулярные выражения представляют собой похожий, но гораздо более сильный инструмент \n"
"для поиска строк, проверки их на соответствие какому-либо шаблону и другой подобной \n"
"работы. Англоязычное название этого инструмента — Regular Expressions или просто RegExp. \n"
"Строго говоря, регулярные выражения — специальный язык для описания шаблонов строк.\n\n"
"АААА аааа АаАаАаАа 123 123 12345 11223344\n"
"А1Б2В3 АА11 ББ22ВВ 33ГГ44\n\n"
"Тест! Ещё! Даёшь! ЁЁЁёёё\n\n"
"QwertyЙцукен\n\n"
"+-,/[](), *** (***), a*(b+[c+d])*e/f+g-h\n\n"
"!!\"\"\"####$$$$$%%%%%&&&'''(((())***++++,,,,,-----..//:::;;;;<<<<<===>>>????\n"
"@@@@@[[[[\\\\\\]]]]]^^^__`````{{{{|||||}}}}}~~~~~\n\n"
"<a href=\"#10\">10: CamelCase -> under_score</a>;\n"
"<a href=\"#11\">11: Удаление повторов</a>;\n"
"<a href=\"#12\">12: Близкие слова</a>;\n"
"<a href=\"#13\">13: Форматирование больших чисел</a>;\n"
"<a href=\"#14\">14: Разделить текст на предложения</a>;\n"
"<a href=\"#15\">15: Форматирование номера телефона</a>;\n"
"<a href=\"#16\">16: Поиск e-mail'ов — 2</a>;")
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