Функция sub в regex может принимать функцию в качестве аргумента repl.
📄 Из документации:
If repl is a function, it is called for every non-overlapping occurrence of pattern. The function takes a single match object argument, and returns the replacement string.
То есть для каждого совпадения будет вызвана функция для вычисления замены вместо замены на одну и ту же строку для всех совпадений.
Иными словами, для замены разных совпадений на разные строки не потребуется запускать re.sub() много раз для каждой строки замены. Достаточно определить функцию, которая вернёт строку для каждого из совпадений.
Описание слишком запутанное🤔, давайте лучше рассмотрим на простом примере:
Создаем карту замены. То есть какие строки на какие требуется менять.
remap = {
'раз': '1',
'два': '2',
'три': '3',
'четыре': '4',
'пять': '5',
}
Пишем функцию поиска строки для замены. Единственным аргументом будет объект re.Match.
Используя данные этого объекта мы вычисляем замену on-the-fly!
def get_str(match: re.Match):
word = match.group(1)
return remap.get(word.lower()) or word
Пример текста.
text = '''Раз Два Три Четыре Пять
Вместе будем мы считать
Пять Четыре Три Два Раз
Мы считать научим вас
'''
Теперь запускаем re.sub и вместо строки замены (repl) подаём имя функции.
(Данный паттерн ищет отдельные слова в тексте)
>>> print(re.sub(r'(\w+)', get_str, text))
1 2 3 4 5
Вместе будем мы считать
5 4 3 2 1
Мы считать научим вас
Думаю, достаточно наглядно 🤓
#libs#regex
DEPO - #STATISTICS
CHANGES IN STRUCTURE OF SHAREHOLDERS
The number of JSCs totaled 631 and the aggregate volume of shares issues totaled UZS 165 622.4 as of 18.11.2022.
The aggregate volume of state owned share in 225 JSCs totaled UZS 133 689.2 billion, i.e. 80.7 %.
#structure#shareholders#share#infographics#statistics#changes
deponet.uz|Tg|Fb|Inst|Youtube
DEPO - #STATISTICS
CHANGES IN STRUCTURE OF SHAREHOLDERS
The number of JSCs totaled 631 and the aggregate volume of shares issues totaled UZS 165 616.4 as of 11.11.2022.
The aggregate volume of state owned share in 225 JSCs totaled UZS 133 690.1 billion, i.e. 80.7 %.
#structure#shareholders#share#infographics#statistics#changes
deponet.uz|Tg|Fb|Inst|Youtube
DEPO - #STATISTICS
CHANGES IN STRUCTURE OF SHAREHOLDERS
The number of JSCs totaled 630 and the aggregate volume of shares issues totaled UZS 165 616.2 as of 04.11.2022.
The aggregate volume of state owned share in 225 JSCs totaled UZS 133 690.3 billion, i.e. 80.7 %.
#structure#shareholders#share#infographics#statistics#changes
deponet.uz|Tg|Fb|Inst|Youtube
DEPO - #STATISTICS
CHANGES IN STRUCTURE OF SHAREHOLDERS
The number of JSCs totaled 631 and the aggregate volume of shares issues totaled UZS 165 616.2 as of 28.10.2022.
The aggregate volume of state owned share in 226 JSCs totaled UZS 133 687.6 billion, i.e. 80.7 %.
#structure#shareholders#share#infographics#statistics#changes
deponet.uz|Tg|Fb|Inst|Youtube
DEPO - #STATISTICS
CHANGES IN STRUCTURE OF SHAREHOLDERS
The number of JSCs totaled 631 and the aggregate volume of shares issues totaled UZS 164 689.5 as of 21.10.2022.
The aggregate volume of state owned share in 226 JSCs totaled UZS 133 687.6 billion, i.e. 81.2 %.
#structure#shareholders#share#infographics#statistics#changes
deponet.uz|Tg|Fb|Inst|Youtube
DEPO - #STATISTICS
CHANGES IN STRUCTURE OF SHAREHOLDERS
The number of JSCs totaled 631 and the aggregate volume of shares issues totaled UZS 164 619.5 as of 14.10.2022.
The aggregate volume of state owned share in 226 JSCs totaled UZS 133 677.9 billion, i.e. 81.2 %.
#structure#shareholders#share#infographics#statistics#changes
deponet.uz|Tg|Fb|Inst|Youtube
DEPO - #STATISTICS
CHANGES IN STRUCTURE OF SHAREHOLDERS
The number of JSCs totaled 631 and the aggregate volume of shares issues totaled UZS 164 609.8 as of 07.10.2022.
The aggregate volume of state owned share in 226 JSCs totaled UZS 133 677.9 billion, i.e. 81.2 %.
#structure#shareholders#share#infographics#statistics#changes
deponet.uz|Tg|Fb|Inst|Youtube
DEPO - #STATISTICS
CHANGES IN STRUCTURE OF SHAREHOLDERS
The number of JSCs totaled 631 and the aggregate volume of shares issues totaled UZS 164 597.6 as of 30.09.2022.
The aggregate volume of state owned share in 225 JSCs totaled UZS 133 665.7 billion, i.e. 81.2 %.
#structure#shareholders#share#infographics#statistics#changes
deponet.uz|Tg|Fb|Inst|Youtube
DEPO - #STATISTICS
CHANGES IN STRUCTURE OF SHAREHOLDERS
The number of JSCs totaled 631 and the aggregate volume of shares issues totaled UZS 164 397.9 as of 23.09.2022.
The aggregate volume of state owned share in 226 JSCs totaled UZS 133 348.9 billion, i.e. 81.1 %.
#structure#shareholders#share#infographics#statistics#changes
deponet.uz|Tg|Fb|Inst|Youtube
DEPO - #STATISTICS
CHANGES IN STRUCTURE OF SHAREHOLDERS
The number of JSCs totaled 631 and the aggregate volume of shares issues totaled UZS 163 200.5 as of 16.09.2022.
The aggregate volume of state owned share in 226 JSCs totaled UZS 132 889.5 billion, i.e. 81.4 %.
#structure#shareholders#share#infographics#statistics#changes
deponet.uz|Tg|Fb|Inst|Youtube
DEPO - #STATISTICS
CHANGES IN STRUCTURE OF SHAREHOLDERS
The number of JSCs totaled 631 and the aggregate volume of shares issues totaled UZS 163 200.4 as of 09.09.2022.
The aggregate volume of state owned share in 226 JSCs totaled UZS 132 895.8 billion, i.e. 81.4 %.
#structure#shareholders#share#infographics#statistics#changes
deponet.uz|Tg|Fb|Inst|Youtube
DEPO - #STATISTICS
CHANGES IN STRUCTURE OF SHAREHOLDERS
The number of JSCs totaled 630 and the aggregate volume of shares issues totaled UZS 163 190.4 as of 26 August 2022.
The aggregate volume of state owned share in 226 JSCs totaled UZS 132 895.8 billion, i.e. 81.4 %.
#structure#shareholders#share#infographics#statistics#changes
deponet.uz|Tg|Fb|Inst|Youtube