Регулярные выражения в Python
Maria Eugenia Inzaugarat
Data Scientist
Два типа сопоставления:
Стандартные квантификаторы по умолчанию жадные: *, +, ?, {num, num}
Жадное: совпадает как можно больше символов
Возвращает наибольшее совпадение
import re
re.match(r"\d+", "12345bcada")
<re.Match object; span=(0, 5), match='12345'>

Выполняет откат при избыточном совпадении символов
Отдаёт символы по одному
import re
re.match(r".*hello", "xhelloxxxxxx")
<re.Match object; span=(0, 6), match='xhello'>

? к жадному квантификатору import re
re.match(r"\d+?", "12345bcada")
<re.Match object; span=(0, 1), match='1'>

Выполняет откат при недостаточном совпадении символов
Расширяет совпадение по одному символу
import re
re.match(r".*?hello", "xhelloxxxxxx")
<re.Match object; span=(0, 6), match='xhello'>

Регулярные выражения в Python