Функция 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
Сейчас в портфеле издательства Rosmei следующие известные тайтлы (список не исчерпывающий):
🔹"Как выжить в роли главного злодея" Ии Ии (How to Survive As a Villain by Yi Yi Yi Yi, 2018) 3vols
🔹"Топить в вине бушующее пламя печали" Прист (Drowning Sorrows in Raging Fire by Priest, 2019) 5vols
🔹"Южный алтарь" Тан Цзюцин (Nan Chan by Tang Jiu Qing, 2018) 3vols
🔹"Я тебе нравлюсь, не так ли?" Лю Тяньи (Don't you like me by Lu Tianyi, 2017) 2vols
🔹"Лю Яо: Возрождение клана Фуяо" Прист (Coins of Destiny by Priest, 2014) 4vols
🔹"Земля Онлайн" Мо Чэньхуань (The Earth is Online by Mo Chen Huan, 2017) 8-9vols
🔹"Калейдоскоп смерти" Си Цзысюй (Kaleidoscope of Death by Xi Zixu, 2018) 6vols
🔹"Глобальный вступительный экзамен" Му Сули (Global Examination by Mu Su Li, 2019) 4vols
🔹"Вино и ружьё" Мэнъе Мэнъе (Wine and Gun by Meng Ye Meng Ye, 2020) 7vols (перевод названия вольный)
🔹"Ша Цин или Последний убийца" У И (The Killer of Killers by Wu Yi, 2018) 3vols
🔹"Отбракованные" Прист (The Defectives by Priest, 2017) 6vols
Еще раз покажу обложку детективной новеллы "Wine and Gun" Meng Ye Meng Ye, которую я жду с особым нетерпением.
#China#novel#Rosmei
Очень нравится оформление суперобложек новеллы "Топить в вине бушующее пламя печали" Прист от сингапурского издательства Rosmei.
Обложки первого, четвертого и пятого томов от 鹤止山川 (Twitter)
Издательство взяло за практику выкладывать прологи или первые главы, чтобы читатели могли оценить качество перевода (считаю, что это хорошая стратегия). Вот здесь можно оценить перевод пролога к Лехо. Всего ожидается пять томов.
#China#novel#Priest#LieHuo#Rosmei
Издательство Rosmei показало обложки первых трех томов новеллы Прист "Дефектные" или "Отбракованные" (The Defectives / Can Ci Pin / 残次品) от V.Scorpio. Нравится, что издательство не боится выдавать "абстрактные" обложки без персонажей — выглядит весьма атмосферно.
Всего запланировано 6 томов. На русском сейчас можно прочитать 57 глав из 197 основных (плюс 6 экстр)
#China#novel#Priest#CanCiPin#Rosmei
Издательство Rosmei показало арт, который мы увидим на обложке первого тома новеллы Му Сули "Глобальный вступительный экзамен"
#China#novel#MuSuLi#GaoKao#Rosmei
Внезапное: Rosmei показали обложку первого тома новеллы "Земля Онлайн" Мо Чэньхуаня. А я как раз сегодня закачала ее на свою читалку... Считаю, что знак свыше.
#China#novel#MoChenHuan#EarthIsOnline#Rosmei
Издательство Rosmei показало обложку второго тома новеллы "Wine and Gun" Mengye Mengye. И это просто восторг и трепет...
#China#novel#WineAndGun#MengYeMengYe#Rosmei
Не перестаю удивляться тому, какой широкий охват авторов и жанров демонстрирует издательство Rosmei. Недавно они анонсировали покупку прав на издание двух новелл Нин Юань (Ning Yuan / 宁远) — популярного автора новелл в жанре байхэ (GL). Причем писательница была так мила, что согласилась написать для англоязычных публикаций новелл "At The World's Mercy" (我为鱼肉) и "The Creator's Grace" (造物的恩宠) дополнительные главы.
Сегодня были показаны удивительно красивые арты для будущих обложек новеллы"At The World's Mercy" (257ch+7ex). Всего запланировано 8 томов. Это историческая новелла с тропом "от врагов к возлюбленным", много политики и придворных интриг.
#China#novel#NingYuan#AtTheWorldsMercy#Rosmei
У издательства Rosmei в августе было три анонса детективных новелл — "Wine and Gun" Mengye Mengye (2020), "The Killer of Killers" Wu Yi (2018) и еще одной новеллы, о которой я раньше не слышала. Поскольку сегодня они показали обложки этого двухтомного (!) тайтла, я решила разузнать поподробнее, что это и о чем это.
Автор — Wu Chen Shui (吴沉水). В анонсе новеллу перевели, как "Enchanted", но в итоге поменяли на "Obsessed". Поскольку иероглифы 着魔 допускают оба перевода (и "околдованный", и "одержимый"), видимо, исходили из того, что ближе к сюжету. В новелле 81 основная глава и 12 экстр (2012).
Ссылка на страницу новеллы на сайте jjwxc и на оригинальный текст.
На русский и английский переводов не видела.
Превью первой главы от издательства Rosmei.
Описание: Несколько причудливых убийств обнажают уродливые желания, скрывающиеся глубоко в сердце. Как бы человек ни старался сдерживать себя, убегать от этого и сопротивляться этому, любой может стать одержимым. Кто-то любовью, кто-то ненавистью, кто-то властью, кто-то амбициями. Я одержим тобой, но кем одержим ты?
Предупреждение от издательства: новелла содержит упоминания о насилии и темах, связанных с психическим здоровьем, сексуальным насилием, гомофобией, расизмом и т. д.
#China#novel#WuChenShui#Obsessed#Rosmei#анонсы