Флаги re
Модификаторы поведения шаблона: регистр, многострочность, точка.
Сигнатура
re.I, re.M, re.S, re.X (re.IGNORECASE, re.MULTILINE, re.DOTALL, re.VERBOSE)Флаги меняют интерпретацию шаблона. Передаются в аргумент flags или комбинируются через |:
| Флаг | Действие |
|---|---|
re.I / re.IGNORECASE | игнорировать регистр |
re.M / re.MULTILINE | ^ и $ работают на каждой строке |
re.S / re.DOTALL | . совпадает и с переводом строки |
re.X / re.VERBOSE | разрешает пробелы и комментарии в шаблоне |
import re
print(re.findall(r"abc", "ABC abc", re.I)) # ['ABC', 'abc']
text = "строка1\nстрока2"
print(re.findall(r"^строка\d", text, re.M)) # ['строка1', 'строка2']
# комбинация флагов
print(bool(re.search(r"a.b", "a\nb", re.S))) # True