Функция 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
Я так подумал и решил составить список визуальных новелл, которые порекомендовал бы к прочтению:
• Clannad (Кланнад) ― История о жизни старшеклассника Томои Окадзаки, который начинает помогать людям вокруг себя и открывать для себя новые чувства и цели в жизни.
• Steins;Gate (Врата Штейна) ― Научно-фантастический триллер о группе студентов, которые случайно создают устройство для отправки сообщений в прошлое, что приводит к непредсказуемым последствиям.
• ChaoS;HEAd (Вершина Хаоса) ― Мрачная история, рассказывающая о параноидальном старшекласснике, который начинает видеть жуткие видения и оказывается втянутым в череду странных и опасных событий.
• ChaoS;Child (Дитя Хаоса) ― Продолжение ChaoS;HEAd, в котором другой герой сталкивается с серией жестоких убийств и таинственными явлениями в Токио.
• Umineko no Naku Koro ni (Когда плачут чайки) ― Детективная новелла с элементами мистики, повествующая о трагической встрече богатой семьи на изолированном острове, которая перерастает в серию убийств.
• Higurashi no Naku Koro ni (Когда плачут цикады) ― История о небольшом деревенском сообществе, где на первый взгляд мирная жизнь омрачается серией жестоких убийств и странных событий.
• Planetarian ~ Chiisana Hoshi no Yume~ (Планетариан ~ Маленький звёздный мечтатель ~) ― Постапокалиптическая история о встрече робота-девушки из планетария и странника, ищущего смысл в разрушенном мире.
• Angel Beats! -1st beat- (Ангельские Ритмы! -1st beat-) ― История о молодых людях, оказавшихся в загробном мире, где они пытаются смириться с прошлым и найти смысл своего существования.
• Subarashiki Hibi Furenzoku Sonzai (Прекрасные дни ~ Дискретное существование ~) ― Психологическая новелла, исследующая философские темы через историю группы школьников, каждый из которых сталкивается с личными кризисами и необычными событиями.
• Ever 17 (Эвер 17) ― Мистическая история о группе людей, оказавшихся запертыми на глубине океана в затопленном подводном парке развлечений, где они борются за выживание и раскрытие тайн окружающего мира.
• Katawa Shoujo (Девушки с недостатками) ― Романтическая новелла о жизни старшеклассника с сердечным заболеванием, который переводится в специализированную школу для инвалидов и начинает строить отношения с другими учащимися.
#vn
Ровно 20 лет назад японская студия Key выпустила визуальную новеллу Clannad, которая благодаря своей романтической линии смогла оставить неизгладимый след в моей душе.
Я считаю что студия Key умеет очень грамотно затрагивать самые глубокие чувства. Их работы, такие как Clannad, Kanon и Air, отличаются уникальной способностью объединять душевные истории с привлекательным дизайном персонажей и запоминающимися саундтреками.
#vn
VN - Видеоредактор
🆕Обновление
Простой, номощный видеоредактор VN подходит как для начинающих, так и для профессиональных пользователей, позволяя вам стать режиссером своей собственной жизни.
⚙️Полная версия, вырезана реклама. #Видеоредакторы
#Видеоредакторы@pm_plus
#VN@pm_plus
📱Play Market +
⚡️ НАШ ЧАТ
Будущее, где всем правят бесчеловечные корпорации. Знакомая история, а? И снова немногим хватает духу бросать властям вызов. Встречайте наших героев – отчаянных молодых ребят. Они вооружены баллончиками с краской и… правдой.
Визуальная новелла о стрит-арте в мире киберпанка от студии Sky Seekers, VIOLE[n]T RUSH — уже в Steam!
https://store.steampowered.com/app/3202230/VIOLENT_RUSH
https://store.steampowered.com/app/3202230/VIOLENT_RUSH
https://store.steampowered.com/app/3202230/VIOLENT_RUSH
На старте действует скидка аж в 40%! А если у вас проблемы с покупками в магазине старины Гейба — пишите нашему сценаристу @JadeVater, ведь мы запаслись на такой случай и ключами.
Будем очень благодарны любой поддержке — купленной копии, репосту, совету друзьям, летсплею. А ещё — не забывайте оставлять отзывы, это невероятно важная для Steam механика продвижения проектов!
#RUVN#VN#VIOLENTRUSH#SkySeekers#релиз