@tuidan2028fanxi · Post #27679 · 09.01.2026 г., 17:42
刀塔-梦幻联赛 - 西欧预选赛 #VP 对战 Zero (BO3) 2026-1-9 23:00 第三局获胜:VP 第三局击杀让分:VP-10.5 (重心) 第三局击杀大小:小于46.5 第三局时间大小:小于37 第一滴血:VP
Hashtags
TGINSIGHT SIMILAR POSTS
Изворен канал @pythonotes · Post #146 · 16 сеп.
Функция 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
Пребарај: #vp
@tuidan2028fanxi · Post #27679 · 09.01.2026 г., 17:42
刀塔-梦幻联赛 - 西欧预选赛 #VP 对战 Zero (BO3) 2026-1-9 23:00 第三局获胜:VP 第三局击杀让分:VP-10.5 (重心) 第三局击杀大小:小于46.5 第三局时间大小:小于37 第一滴血:VP
Hashtags
@tuidan2028fanxi · Post #27673 · 09.01.2026 г., 16:09
刀塔-梦幻联赛 - 西欧预选赛 #VP 对战 Zero (BO3) 2026-1-9 23:00 第二局获胜:Zero 第二局击杀让分:Zero+10.5 第二局击杀大小:大于46.5 (重心) 第二局时间大小:大于37 第一滴血:Zero
Hashtags
@tuidan2028fanxi · Post #27367 · 04.01.2026 г., 17:42
刀塔-BLAST 大满贯 - 欧洲预选赛 #VP 对战 1win (BO3) 2026-1-4 23:30 第三局获胜:VP (重心) 第三局击杀让分:VP-7.5 第三局击杀大小:大于46.5 第三局时间大小:大于38 第一滴血:VP
Hashtags
@tuidan2028fanxi · Post #27357 · 04.01.2026 г., 16:45
刀塔-BLAST 大满贯 - 欧洲预选赛 #VP 对战 1win (BO3) 2026-1-4 23:30 第二局获胜:VP (倍投重心) 第二局击杀让分:VP-7.5 第二局击杀大小:大于47.5 第二局时间大小:大于38 第一滴血:VP
Hashtags
@tuidan2028fanxi · Post #27345 · 04.01.2026 г., 15:31
刀塔-BLAST 大满贯 - 欧洲预选赛 #VP 对战 1win (BO3) 2026-1-4 23:30 第一局获胜:VP 第一局击杀让分:VP-7.5 (重心) 第一局击杀大小:小于47.5 第一局时间大小:小于38 第一滴血:VP
Hashtags
@dianjingtiyuxieyi · Post #5844 · 15.09.2025 г., 09:34
CSGO-FISSURE 游乐场 #VP 对战 LVG (BO3) 2025-09-15 16:00 局2 单局获胜: LVG 回合让分: LVG+2.5 回合大小: 大于21.5 (重心) 回合单双: 双
Hashtags
@dianjingtiyuxieyi · Post #5811 · 14.09.2025 г., 11:37
CSGO-FISSURE 游乐场 #VP 对战 Astralis (BO3) 2025-09-14 19:00 局2 单局获胜: Astralis 回合让分: Astralis-3.5 回合大小: 小于21.5 回合单双: 双
Hashtags
@dianjingtiyuxieyi · Post #5055 · 09.08.2025 г., 15:20
CSGO-BLAST 赏金秋季赛-预选赛 #VP 对战 FaZe (BO3) 2025-08-09 21:00 局3 单局获胜: FaZe 回合让分: FaZe-2.5 (重心) 回合大小: 大于21.5 回合单双: 双
Hashtags
@dianjingtiyuxieyi · Post #5054 · 09.08.2025 г., 15:18
CSGO-BLAST 赏金秋季赛-预选赛 #VP 对战 FaZe (BO3) 2025-08-09 21:00 局1 单局获胜: FaZe 回合让分: FaZe-3.5 (重心) 回合大小: 小于21.5 回合单双: 双
Hashtags
@dianjingtiyuxieyi · Post #5053 · 09.08.2025 г., 14:18
CSGO-BLAST 赏金秋季赛-预选赛 #VP 对战 FaZe (BO3) 2025-08-09 21:00 局1 单局获胜: FaZe 回合让分: FaZe-3.5 (重心) 回合大小: 小于21.5 回合单双: 双
Hashtags
@TYDJ289 · Post #2351 · 09.01.2026 г., 17:42
刀塔-梦幻联赛 - 西欧预选赛 #VP 对战 Zero (BO3) 2026-1-9 23:00 第三局获胜:VP 第三局击杀让分:VP-10.5 (重心) 第三局击杀大小:小于46.5 第三局时间大小:小于37 第一滴血:VP
Hashtags
@TYDJ289 · Post #2348 · 09.01.2026 г., 16:09
刀塔-梦幻联赛 - 西欧预选赛 #VP 对战 Zero (BO3) 2026-1-9 23:00 第二局获胜:Zero 第二局击杀让分:Zero+10.5 第二局击杀大小:大于46.5 (重心) 第二局时间大小:大于37 第一滴血:Zero
Hashtags