@tuidan2028fanxi · Post #27437 · 05.01.2026 г., 14:54
刀塔-BLAST 大满贯 - 中国预选赛 #XG 对战 VG(BO3) 2026-1-5 20:20 第三局获胜:XG 第三局击杀让分:XG -8.5 (重心) 第三局击杀大小:大于40.5 第三局时间大小:小于38 第一滴血:XG
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
Пребарај: #xg
@tuidan2028fanxi · Post #27437 · 05.01.2026 г., 14:54
刀塔-BLAST 大满贯 - 中国预选赛 #XG 对战 VG(BO3) 2026-1-5 20:20 第三局获胜:XG 第三局击杀让分:XG -8.5 (重心) 第三局击杀大小:大于40.5 第三局时间大小:小于38 第一滴血:XG
Hashtags
@tuidan2028fanxi · Post #27424 · 05.01.2026 г., 13:38
刀塔-BLAST 大满贯 - 中国预选赛 #XG 对战 VG(BO3) 2026-1-5 20:20 第二局获胜:XG 第二局击杀让分:XG -9.5 第二局击杀大小:大于41.5 (重心) 第二局时间大小:大于38 第一滴血:XG
Hashtags
@dianjingtuijian01 · Post #8990 · 11.03.2026 г., 09:49
刀塔-PGL 瓦拉几亚 #XG 对战 VG (BO3) 2026-3-11 16:00 第三局获胜:XG 击杀让分:XG-5.5 击杀大小:大于40.5 时间大小:大于40(重心) 第一滴血:XG
Hashtags
@dianjingtuijian01 · Post #8987 · 11.03.2026 г., 08:47
刀塔-PGL 瓦拉几亚 #XG 对战 VG (BO3) 2026-3-11 16:00 第二局获胜:XG 击杀让分:XG-4.5 击杀大小:小于42.5(重心) 时间大小:大于39 第一滴血:XG
Hashtags
@dianjingtuijian01 · Post #8985 · 11.03.2026 г., 08:10
刀塔-PGL 瓦拉几亚 #XG 对战 VG (BO3) 2026-3-11 16:00 全局获胜: XG 地图比分: 2-1 地图让分: VG +1.5 地图大小: 大于2.5 刀塔-PGL 瓦拉几亚 #XG 对战 VG (BO3) 2026-3-11 16:00 第一局获胜:VG 击杀让分:VG+7.5 击杀大小:大于41.5(重心) 时间大小:大于40 第一滴血:VG
Hashtags
@dianjingtuijian01 · Post #8976 · 10.03.2026 г., 12:51
刀塔-PGL 瓦拉几亚 #XG 对战 Aurora (BO3) 2026-3-10 20:00 第二局获胜:XG 击杀让分:XG +3.5(重心) 击杀大小:小于46.5 时间大小:大于40 第一滴血:XG
Hashtags
@dianjingtuijian01 · Post #8975 · 10.03.2026 г., 11:49
刀塔-PGL 瓦拉几亚 #XG 对战 Aurora (BO3) 2026-3-10 20:00 第一局获胜:XG 击杀让分:XG +3.5(重心) 击杀大小:大于44.5 时间大小:大于40 第一滴血:XG
Hashtags
@dianjingtuijian01 · Post #8958 · 09.03.2026 г., 10:18
刀塔-PGL 瓦拉几亚 #XG 对战 BB (BO3) 2026-3-9 16:00 第三局获胜:XG 击杀让分:XG+4.5 击杀大小:大于45.5 时间大小:大于42(重心) 第一滴血:XG
Hashtags
@dianjingtuijian01 · Post #8773 · 23.02.2026 г., 13:36
刀塔-梦幻联赛 #XG 对战 PARIVISION (BO3) 2026-2-23 21:30 第一局获胜:PARIVISION 击杀让分:PARIVISION -7.5 击杀大小:小于45.5 时间大小:大于39 第一滴血:PARIVISION
Hashtags
@dianjingtuijian01 · Post #8746 · 21.02.2026 г., 11:30
刀塔-梦幻联赛 #XG 对战 Liquid (BO3) 2026-2-21 19:00 第二局获胜:XG 击杀让分:XG+7.5 击杀大小:大于46.5 (重心) 时间大小:大于39 第一滴血:XG
Hashtags
@dianjingtiyuxieyi · Post #5769 · 13.09.2025 г., 09:10
刀塔-TI国际邀请赛 #XG 对战 NGX (BO3) 2025-09-13 16:00 第一局获胜:NGX 第一局击杀让分:NGX+8.5 第一局击杀大小:小于41.5 第一局时间大小:大于43 (重心) 第一滴血:NGX
Hashtags
@dianjingtiyuxieyi · Post #5762 · 13.09.2025 г., 07:54
刀塔-TI国际邀请赛 #XG 对战 NGX (BO3) 2025-09-13 16:00 第一局获胜:NGX 第一局击杀让分:NGX+8.5 第一局击杀大小:小于41.5 第一局时间大小:大于43 (重心) 第一滴血:NGX
Hashtags