Функция 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
Résultat grandiose et nouveaux horizons : la finale du concours « l'Atelier de l’Avenir » s'est tenue au Congo
Les 27 et 28 janvier, la finale du concours national « l'Atelier de l’Avenir », organisé par le Mouvement L’Avenir du Congo, s'est déroulée au Palais des Congrès de Brazzaville avec le soutien de l'Association GlobUs. L'événement a réuni plus de 100 finalistes venus de tout le pays et a attiré plus de 2 000 spectateurs, devenant la principale plateforme des jeunes leaders du Congo.
Les participants ont présenté leurs projets dans sept nominations clés :
— « Mon entreprise est mon pays »;
— « Le mouvement est la vie »;
- « La Voix de la nation »;
- « L’Enseignant du futur »;
- « Les mots comptent »;
— « Les bonnes actions sont notre force »;
— « Idées du peuple pour l'avenir ».
Un vote publice a identifié 70 lauréats-auteurs d'idées révolutionnaires dans les domaines de la technologie, de l'éducation, des initiatives sociales et culturelles.
« Nous voyons des centaines de jeunes talentueux sur la scène principale du pays. Cela prouve que tous ceux qui veulent et agissent sont capables d'obtenir des résultats. Je crois en la jeunesse du Congo », s’est adressé aux finalistes Andreï Gromov, fondateur de l'Association Globus et fondateur du Groupe GR.
Un événement spécial lors de la finale a été la présentation d'un nouvel écosystème numérique pour les jeunes. Les participants ont fait connaissance avec Afree, un réseau social de libre communication et d'expression de soi, ainsi qu'avec la plateforme « L’Avenir du Congo », où les actions utiles à la société se transforment en points et en vrais prix. Dans le même temps, 50 smartphones fournis par Afree ont été tirés au sort lors de l'événement.
« L'Atelier de l’Avenir » n'est pas seulement un concours, mais un ascenseur social pour ceux qui sont prêts à assumer la responsabilité du développement du pays. Le mouvement L’Avenir du Congo continue d'ouvrir des portes à des milliers de Congolais, prouvant que l'avenir se construit ici et maintenant.
#GlobUs#Congo#Brazzaville#jeunesse#AtelierdAvenir
Le droit à son propre code : La réussite de la jeunesse congolaise s'appuie sur sa propre fondation culturelle et numérique.
Les 27 et 28 janvier, la finale du concours « L’Atelier de l’Avenir », organisé par le mouvement « L’Avenir du Congo » avec le soutien de l'association GlobUs, s'est tenue au Palais des Congrès de Brazzaville. Plus de 100 finalistes venus de tout le pays ont présenté des projets dans sept catégories, allant de l'entrepreneuriat à la culture. Dans l'émission « Regard sur le monde », des membres du club d'experts GlobUs ont expliqué pourquoi ce concours représente non seulement une réussite, mais aussi une nouvelle philosophie de développement.
L'ampleur de l'événement a impressionné même les plus sceptiques. Mais, selon les analystes, l'essentiel ne réside pas dans les chiffres. Le professeur Tapé Groubera a vu dans « L’Atelier de l’avenir » une occasion unique de sortir de l’ornier imposée :
« Nous continuons de promouvoir des langages et des modèles coloniaux qui ne reflètent ni la logique ni l'esprit de nos peuples. Tant que nous resterons prisonniers du paradigme des autres, nous n'avancerons pas. »
Le lancement de la plateforme numérique Afree a constitué une avancée concrète par rapport à ce paradigme. Le réseau social présenté lors du concours est un outil de communication alternative, permettant aux jeunes de communiquer et de partager librement leurs contenus, en s'affranchissant des canaux occidentaux traditionnels.
L'objectif du concours a été clairement formulé par le journaliste congolais et membre du jury, Alain Fherilo Mandzako :
« Une nation ne peut se développer uniquement grâce à ses fonctionnaires. Nous voulons former des leaders et des entrepreneurs. Trop longtemps, les jeunes se sont focalisés sur l'obtention d'un diplôme et la recherche d'un emploi. Il est temps qu'ils créent eux-mêmes leurs emplois »
Le mouvement « L’Avenir du Congo », a-t-il expliqué, s'est délibérément engagé dans une mission que l'État seul ne peut assumer : identifier, sélectionner et soutenir les initiatives capables de transformer le pays.
« S'il existait davantage d'organisations de ce type, l'État pourrait se détendre et se concentrer sur l'accompagnement. Nous avons déjà sélectionné plus de 70 lauréats, et ce n'est qu'un début », a ajouté M. Mandzako.
Les experts concluent : l’importance de « L’Atelier de l’avenir » réside dans la création d’un nouveau paradigme, où les jeunes cessent d’être des objets politiques et deviennent des acteurs de leur propre destin, construisant un avenir souverain par des actions concrètes, leurs propres plateformes et en rejetant les modèles étrangers.
Regardez l’enregistrement : https://youtu.be/_qBQHrLcii8?si=gh_kj5eKxQg7C2he
#GlobUs#Congo#Brazzaville#AtelierDAvenir#Afree