Функция 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
Prezident Shavkat Mirziyoyevga eng ustuvor islohotlar dasturlari hamda “Oʻzbekiston – 2030” strategiyasini 2026-yilda amalga oshirish boʻyicha Davlat dasturi loyihalari yuzasidan axborot berildi.
—
Президенту Шавкату Мирзиёеву доложены проекты программ наиболее приоритетных реформ и Государственной программы по реализации Стратегии «Узбекистан-2030» в 2026 году.
#Mirziyoyev#taqdimot#islohotlar#Davlatdasturi
Prezident.uz|Facebook|Instagram|YouTube|X
Prezident Shavkat Mirziyoyevga eng ustuvor islohotlar dasturlari hamda “Oʻzbekiston – 2030” strategiyasini 2026-yilda amalga oshirish boʻyicha Davlat dasturi loyihalari yuzasidan axborot berildi.
—
Президенту Шавкату Мирзиёеву доложены проекты программ наиболее приоритетных реформ и Государственной программы по реализации Стратегии «Узбекистан-2030» в 2026 году.
#Mirziyoyev#taqdimot#islohotlar#Davlatdasturi
Prezident.uz|Facebook|Instagram|YouTube|X
Prezident Shavkat Mirziyoyevga eng ustuvor islohotlar dasturlari hamda “Oʻzbekiston – 2030” strategiyasini 2026-yilda amalga oshirish boʻyicha Davlat dasturi loyihalari yuzasidan axborot berildi.
—
Президенту Шавкату Мирзиёеву доложены проекты программ наиболее приоритетных реформ и Государственной программы по реализации Стратегии «Узбекистан-2030» в 2026 году.
#Mirziyoyev#taqdimot#islohotlar#Davlatdasturi
Prezident.uz|Facebook|Instagram|YouTube|X
Prezident Shavkat Mirziyoyevga eng ustuvor islohotlar dasturlari hamda “Oʻzbekiston – 2030” strategiyasini 2026-yilda amalga oshirish boʻyicha Davlat dasturi loyihalari yuzasidan axborot berildi.
—
Президенту Шавкату Мирзиёеву доложены проекты программ наиболее приоритетных реформ и Государственной программы по реализации Стратегии «Узбекистан-2030» в 2026 году.
#Mirziyoyev#taqdimot#islohotlar#Davlatdasturi
Prezident.uz|Facebook|Instagram|YouTube|X
Prezident Shavkat Mirziyoyevga eng ustuvor islohotlar dasturlari hamda “Oʻzbekiston – 2030” strategiyasini 2026-yilda amalga oshirish boʻyicha Davlat dasturi loyihalari yuzasidan axborot berildi.
—
Президенту Шавкату Мирзиёеву доложены проекты программ наиболее приоритетных реформ и Государственной программы по реализации Стратегии «Узбекистан-2030» в 2026 году.
#Mirziyoyev#taqdimot#islohotlar#Davlatdasturi
Prezident.uz|Facebook|Instagram|YouTube|X
Prezident Shavkat Mirziyoyevga eng ustuvor islohotlar dasturlari hamda “Oʻzbekiston – 2030” strategiyasini 2026-yilda amalga oshirish boʻyicha Davlat dasturi loyihalari yuzasidan axborot berildi.
—
Президенту Шавкату Мирзиёеву доложены проекты программ наиболее приоритетных реформ и Государственной программы по реализации Стратегии «Узбекистан-2030» в 2026 году.
#Mirziyoyev#taqdimot#islohotlar#Davlatdasturi
Prezident.uz|Facebook|Instagram|YouTube|X
Prezident Shavkat Mirziyoyevga eng ustuvor islohotlar dasturlari hamda “Oʻzbekiston – 2030” strategiyasini 2026-yilda amalga oshirish boʻyicha Davlat dasturi loyihalari yuzasidan axborot berildi.
—
Президенту Шавкату Мирзиёеву доложены проекты программ наиболее приоритетных реформ и Государственной программы по реализации Стратегии «Узбекистан-2030» в 2026 году.
#Mirziyoyev#taqdimot#islohotlar#Davlatdasturi
Prezident.uz|Facebook|Instagram|YouTube|X
Давлат дастури: тараққиёт йўлидаги комплекс чора-тадбирлар
#27feb#uzbekiston24
O‘zLiDeP Сиёсий Кенгаши Ижроия қўмитаси ва Олий Мажлис Қонунчилик палатасидаги партия фракциясининг кенгайтирилган қўшма мажлиси бўлиб ўтди.
Унда “Ўзбекистон – 2030” стратегиясини “Ёшлар ва бизнесни қўллаб-қувватлаш йили”да амалга оширишга оид давлат дастури тўғрисида”ги Президент Фармонидан келиб чиқувчи O’zLiDeP ва унинг фракцияси олдида турган долзарб вазифалар муҳокама қилинди.
Унда Давлат дастурида белгиланган вазифаларнинг барчаси халқимизнинг ҳаёт даражасини янада яхшилаш, тадбиркорликни жадал ривожлантириш, бандликни таъминлаш ва камбағалликни қисқартириш, мамлакатимизнинг халқаро майдондаги нуфузи ошишига хизмат қилиши таъкидланди.
#uzlidep#davlatdasturi
➖O'zLiDeP Toshkent viloyat Kengashi rasmiy kanali ➖
Давлат дастури – тараққиётга хизмат қилувчи ҳужжат
#26feb#uzbekiston24
“Ўзбекистон – 2030” стратегиясини “Ёшлар ва бизнесни қўллаб-қувватлаш йили”да амалга оширишга оид давлат дастури тўғрисида”ги Ўзбекистон Республикаси Президенти Фармони қабул қилинди.
Таъкидлаш жоизки, жорий йилги давлат дастурида партиямиз фаолларининг билдирган таклифлари акс этганлиги бизни янада қувонтирди ва олдимизга катта масъулият талаб қилади.
#uzlidep#davlatdasturi
➖O'zLiDeP расмий канали➖
Prezident Shavkat Mirziyoyevga eng ustuvor islohotlar dasturlari hamda “Oʻzbekiston – 2030” strategiyasini 2026-yilda amalga oshirish boʻyicha Davlat dasturi loyihalari yuzasidan axborot berildi.
—
Президенту Шавкату Мирзиёеву доложены проекты программ наиболее приоритетных реформ и Государственной программы по реализации Стратегии «Узбекистан-2030» в 2026 году.
#Mirziyoyev#taqdimot#islohotlar#Davlatdasturi
Prezident.uz|Facebook|Instagram|YouTube|X
Prezident Shavkat Mirziyoyevga eng ustuvor islohotlar dasturlari hamda “Oʻzbekiston – 2030” strategiyasini 2026-yilda amalga oshirish boʻyicha Davlat dasturi loyihalari yuzasidan axborot berildi.
—
Президенту Шавкату Мирзиёеву доложены проекты программ наиболее приоритетных реформ и Государственной программы по реализации Стратегии «Узбекистан-2030» в 2026 году.
#Mirziyoyev#taqdimot#islohotlar#Davlatdasturi
Prezident.uz|Facebook|Instagram|YouTube|X
Prezident Shavkat Mirziyoyevga eng ustuvor islohotlar dasturlari hamda “Oʻzbekiston – 2030” strategiyasini 2026-yilda amalga oshirish boʻyicha Davlat dasturi loyihalari yuzasidan axborot berildi.
—
Президенту Шавкату Мирзиёеву доложены проекты программ наиболее приоритетных реформ и Государственной программы по реализации Стратегии «Узбекистан-2030» в 2026 году.
#Mirziyoyev#taqdimot#islohotlar#Davlatdasturi
Prezident.uz|Facebook|Instagram|YouTube|X