Функция 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
Sponsored
Navigating #Ethiopia’s #PVoC Requirements: TÜV Rheinland Supports Exporters for Smooth Market Access
As Ethiopia continues strengthening its quality infrastructure and import control framework, exporters shipping regulated products to the country are reminded of the importance of complying with the Pre-Export Verification of Conformity (PVoC) program prior to shipment.
The PVoC program, overseen by the Ethiopian Conformity Assessment Enterprise under the Ministry of Trade and Regional Integration (#MoTRI), requires regulated products to undergo conformity assessment procedures before export to Ethiopia.
A Certificate of Conformity (#CoC) must be issued to ensure smooth customs clearance and prevent delays at the port of entry.
For exporters, understanding the applicable certification route, documentation requirements, and product scope is critical to avoiding unnecessary costs, shipment holds, or re-exports.
For more click the link: https://addisstandard.com/?p=55617
Sponsored post
#TÜV_Rheinland Further Strengthens Role in PVoC Sector, Becoming a Strategic Authorized Body for Inspection and Certification under ECAE - #MOTRI
Agreement signed on 3rd December 2025 strengthens safe, compliant market access to Ethiopia
Addis Abeba, 3rd December 2025 TÜV Rheinland announced it has signed a new contract with the #Ethiopian Conformity Assessment Enterprise (#ECAE), under the Ministry of Trade and Regional Integration (#MoTRI), authorizing TÜV Rheinland to conduct inspections, testing (where applicable), and issue Certificates of Conformity (#CoC) for regulated products exported to Ethiopia under the country’s Pre-Export Verification of Conformity (#PVoC) program.
The PVoC framework helps protect consumers and the environment from unsafe or substandard imports and streamlines customs clearance by ensuring regulated products comply with Ethiopia’s national standards before shipment.
“This partnership reflects a shared commitment to safety, quality, and fair trade,” said Mr. Fares Naouri, Senior Vice President Government Inspections and International Trade (#GIIT) - TÜV Rheinland. “With our global laboratory network and experienced technical teams, exporters and importers alike can rely on efficient and transparent conformity assessment services.”
Under the agreement, TÜV Rheinland is authorized to assess technical documentation, perform consignment & factory inspections, and conduct laboratory tests. The certificate of Conformity (COC) is issued as a confirmation of successful completion of the compliance verification procedure.
https://addisstandard.com/?p=54647