Функция 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
'Okkupert', distopía noruega antirrusa
La serie que recomendamos hoy puede parecer muy actual, dado el clima de rusofobia que se respira en Occidente, y, sobre todo, en sus medios de comunicación: un país europeo es víctima de una invasión rusa.
La trama de 'Okkupert' ('Occupied') (2015-2020) comienza con la elección soberana del Gobierno noruego de renunciar a los combustibles fósiles en favor del torio y en ese momento, el guion da un giro distópico en el que Occidente, encabezado por la Unión Europea, da un golpe para que Oslo continúe bombeando petróleo y gas a sus socios y para ello utilizan a Rusia de ariete.
La UE obligará a Oslo a cumplir con el suministro, haciendo que Rusia ocupe el país y controle pozos y plataformas y se despliegue en el territorio. De esa forma comienza un sentir patriótico noruego para sacar a los rusos, aunque a lo largo de la serie queda claro que los enemigos son los europeos y los propios noruegos…
Cualquier parecido con la tensión actual es pura coincidencia…
En algunos países las 3 temporadas están disponibles en Netflix, Apple TV o Amazon Prime Video.
¿Por cierto creen que un escenario así podría darse y más cuando ha sido Noruega la que colaboró con la voladura del gasoducto Nord Stream, según un galardonado periodista estadounidense?
#Series
Síguenos si amas el cine y las series:
🎥Luces, cámara y ¡acción!
Короче
Я посмотрела 8 серий "Мыши" и я дропаю
Скучилищно и нелогично
А ещё персонаж, который мне единственный понравился, умер. В общем, я не поняла гениальности задумки
#Series@small_syzrann
Вчера досмотрела шестую серию "Мыши".
Могу сказать, что мне нравится, даже очень. Сюжет интересный, хотя мне немножко не хватает "вотэтоповоротов".
Плоттвист в конце шестой серии я предугадала, потому что как будто бы в целом это было ожидаемо, но всё равно интересно, как это будут разруливать дальше.
#Series@small_syzrann
Самое главное и самое часто употребляемое слово в "Триггере" это...щибаль, конечно же >DDD
Мне кажется, здесь это самое универсальное слово. Щибаль? Щибаль!
#Series@small_syzrann
Я так ждала "Дорогу личи", а она оказалась капец какой скучной. Смотрю 5ю серию и жду где будет роад стори. Потому что пока что тут дохуя неясные политические интриги, которые я без контекста не понимаю. А чтобы понимать контекст, нужно понимать период правления Тяньбао и чо там происходило. Пока что тут все пытаются друг друга подсидеть и сохранить свою жопу. И всё это ужасно муторно и скучно.
#Series
Блиать. Простите это очень смешно и очень черно
8 серия "Злого духа", девочки празднуют экзамен
Сэми: это злой дух велел тебе соблазнить Хонсэ?
Санён: а?
Сэми: Я дала шанс признаться, а ты не хочешь. Ты сидела рядом с ним и улыбалась вот так ☺️🤭 Затем припала к его плечу и прошептала что-то на ухо
Что в это время шептала Санён:
#series
Итак, я почти пришла в себя и начала смотреть "Личи Чанъаня" попутно с корейским "Злым духом".
По итогу первых полутора серий можно смело дать сериалу второе название "Сдохни или умри"
#series
Уже 11 лет прошло, а Марти и Раст все еще куда-то едут... >DDD
(Если вы не смотрели первый сезон "Настоящего детектива", то настоятельно советую посмотреть).
#series