Баг python regex?

Обнаружил очень странный момент. Регулярное выражение из приведенного ниже примера не срабатывает в python3.9, но прекрасно находит на сайте https://regex101.com/r/w7Hi7C/1. Есть идеи, с чем может быть связано?

import re

def find(param, value):
    return re.match(fr'(?:([0-9\.\-\+]+)\*)?(\-)?{param}(?:\*([0-9\.\-\+]+))?', re.sub(' ', '', str(value)))

find('a1', 'x < a1')

Ответы (1 шт):

Автор решения: GrAnd

Так ваш пример с regex101 и в вашем коде сработает. А строка из вашего кода найдётся, если вместо re.match использовать re.search. Потому, как re.match сопоставляет с начала строки, а подстрока a1 в вашем коде явно идёт не с начала.
О разнице между этими функциями недвусмысленно изложено в документации.

→ Ссылка