<spanthe literal text <span (case sensitive) \ba Unicode word boundary
Negated Character Class[^>]* *matches any number of characters outside the set below:
>the literal > (6210 / 768 / 3E16)
>the literal > (6210 / 768 / 3E16)
Comment: Открывающий span с любыми атребутами
\s*a Unicode whitespace character, repeated any number of times
Comment: Пробелы
Group 1(\-?\d+(?:[\.\,]\d+)?) \-?optionally matches the literal - (4510 / 558 / 2D16)
\d+a Unicode decimal digit, repeated at least once
Non-Capturing Group(?:[\.\,]\d+)? ?repeats the group contents below at most once:
\.the literal . (4610 / 568 / 2E16)
\,the literal , (4410 / 548 / 2C16)
\d+a Unicode decimal digit, repeated at least once
Comment: Число
\s*a Unicode whitespace character, repeated any number of times
Comment: Пробелы
<the literal < (6010 / 748 / 3C16)
\/the literal / (4710 / 578 / 2F16)
span>the literal text span> (case sensitive) Comment: Закрывающий span
g modifier: global. Finds all matches instead of stopping after the first
u modifier: unicode. Makes \w, \W, \b, \B, \d, \D, \s, and \S use Unicode semantics (redundant in Python 3)
s modifier: single line. Allows a dot to match line terminators