Функция 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
🔐 Best EDR Of The Market (BEOTM).
• Endpoint Detection and Response (EDR) — класс решений для обнаружения и изучения вредоносной активности на конечных точках: подключенных к сети рабочих станциях, серверах, iot и т.д.
• В отличие от антивирусов, задача которых — бороться с типовыми и массовыми угрозами, EDR-решения ориентированы на выявление целевых атак и сложных угроз. При этом EDR не может полностью заменить антивирусы, поскольку эти две технологии решают разные задачи.
• Если у Вас есть желание потренироваться обходить детекты EDR, то этот репозиторий станет отличным средством: https://github.com/Xacone/BestEdrOfTheMarket
- NT-Level API Hooking;
- Kernel32/Base API Hooking;
- Active Response w/ YARA rules or simple patterns;
- IAT Hooking;
- Threads Call Stack Monitoring (Stacked parameters + Unbacked addresses);
- Heap Regions Analysis;
- Direct Syscalls Detection;
- Indirect Syscalls Detection;
- AMSI/ETW Patching Mitigation.
• А еще в блоге автора есть очень много полезной информации и описание всех техник, которые перечислены выше:
- Часть 1;
- Часть 2.
#EDR
🚨 GitHub 监控消息提醒
🚨发现关键词:#Bypass#EDR
📦项目名称:anti-detect-browser-tools-tech-comparison
👤项目作者:t117bu
🛠开发语言: None
⭐Star数量: 1 | 🍴Fork数量: 0
📅更新时间: 2026-03-29 13:01:13
📝项目描述:
🔍 Analyze and compare anti-detection tools for web scraping to find the best fit for bypassing bot protection effectively.
🔗点击访问项目地址
#EDR presents a special train trip to #Beynouna_Village!
Save the date — December 6, 2025 — and join us for an unforgettable journey.
Contact us for more information: 9546.
+251 93 800 3837
Experience train tourism at its best.
EDR — Connecting Business, Connecting Tourist Destinations.
Find us on: 👇👇👇
📌Facebook: https://www.facebook.com/share/15vDenutJd/?mibextid=wwXIfr
📌 Telegram: https://t.me/ethiodjiboutirailwayt.me+1t.me+1
📌Web: https://www.edrsc.com
📌TikTok: @ethiodjiboutirailway
📌youtube:https://www.youtube.com/channel/UCJCVzH-JGvnOPfsbrDFDIjQ