TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

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

Hashtags

Резултати

Пронајдени 4 слични објави

Пребарај: #main

当前筛选 #main清除筛选
比特随想

@bit_think · Post #24 · 18.05.2023 г., 14:41

#think 使用新顶级域欺骗 本文实际上是翻译这篇文章。 Google 在早些时候推出了 zip. 和 mov. 等顶级域名 ,这两个域名分别意味着以 zip 为后缀的压缩包和以 mov 为后缀的视频。 问题就出在这里,攻击者可以设计一个精心制作的 URL 来欺骗你进入非预期的页面。 ★示例 https://github.com∕example∕example∕archive∕refs∕tags∕@release.zip (应跳转 Youtube) https://github.com/example/example/archive/refs/tags/release.zip (应显示 Not Found) ★为什么会这样 一个 URL 的构成是... https:// (协议) 用户名:密码@ (用户信息) 二级域.示例.中文 (域名) :11451 (端口) /路径 (路径) ?query=keyword (参数) #main (哪块儿) 拼起来就是 https://用户名:密码@二级域.示例.中文:11451/路径?query=keyword#main。 一些浏览器会忽略用户信息,让用户不会意外登录到某网站,直接进入这个 URL。 https://[email protected] 这个网址会把解析到 b.com。如果我们在@之前添加反斜杠就会解析 a.com,就像 https://a.com/[email protected]。 所以欺骗一个人只需要让一个网址看起来是带你到 a.com,但实则是带到 b.com。 根据一个 Chromium 的 bug。浏览器允许在地址栏使用 U+2044 (⁄) 和 U+2215 (∕),但不视作 U+002F (/) 正斜杠。 利用这点,我们假设有这样一个链接... https://github.com/example/example/archive/refs/tags/release.zip,只需要稍加改造,在 release.zip 前添加@并且全部换成 U+2215 (∕) 字符使浏览器认成用户信息,现在这个链接会指向 release.zip 域了。现在别人花了 $15 租用这个域名指向了 Youtube 的一个视频... https://github.com∕example∕example∕archive∕refs∕tags∕@release.zip ★预防 排查任何链接,尤其是带@的。 ★延伸阅读 The Dangers of Google’s .zip TLD 频道维护者引用链接的页面内容仅供参考,不代表维护者的立场。

Hashtags

科技&趣闻&杂记

@kejiqu · Post #3908 · 26.11.2025 г., 10:12

代码版本控制工具 Git 3.0 默认主分支将从 master 改为 main Git于11月17日发布2.52版本更新。该版本更新中,Git 3.0及以后的版本在使用git init命令初始化仓库时,若未声明其他配置,将使用“main”作为初始分支,取代此前的“master”。此前,GitHub已宣布创建的所有新的源代码仓库均被命名为“main”,以删除与奴隶制相关的术语,并采用更具包容性的术语。IT之家 🏷#Git#main#master#更新 📢频道👥群组📝投稿