Функция 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
По данным Американского института нефти, за неделю, закончившуюся 9 января, коммерческие запасы нефти в США неожиданно выросли на 5,27 млн баррелей после снижения на 2,8 млн баррелей на предыдущей неделе.
По имеющимся данным, запасы бензина за неделю увеличились на 8,23 млн баррелей, запасы дистиллятов — на 4,34 млн баррелей, а запасы в Кушинге — на 945 тыс. баррелей.
Управление энергетической информации планирует опубликовать еженедельный отчёт о поставках нефти в США в среду. В среднем аналитики, опрошенные The Wall Street Journal, прогнозируют, что коммерческие запасы сырой нефти в стране сократятся на 1,4 млн баррелей, запасы бензина вырастут на 1,7 млн баррелей, а запасы дистиллятов останутся примерно на том же уровне.
Февральские фьючерсы на нефть марки #WTI недавно торговались по цене 61,06 доллара за баррель после того, как во вторник цена составила 61,15 доллара за баррель.
@Bloomberg4you
Ещё больше информации о мировых рынках и экономике - ЗДЕСЬ
Werewolf Telegram Indonesia
Tempat bermain Werewolf online dan berusaha menjadi rumah kedua bagi kalian yang penat di real life. Sedikit info karena grup baru banget, jadi lagi ada event total anarchy atau bisa disebut NO RULES. APA ITU SEER?BAKAR !!!
📍@werewolfteleindo
#Indonesia#WTI
📈 Цены на нефть восстановились после падения, но остаются под давлением роста запасов в США
Сегодня на азиатских торгах нефть немного отыграла потери предыдущего дня. Так, декабрьские фьючерсы на Brent поднялись на 0,76% до $77,77 за баррель, а контракты на WTI подорожали на 0,73% до $74,10 за баррель.
📉 Что произошло ранее?
Во вторник цены на нефть упали на более чем 4% на фоне сообщений о том, что ливанская группировка «Хезболла» добивается прекращения огня с Израилем. Это может свидетельствовать о потенциальной деэскалации конфликта на Ближнем Востоке, который ранее поддерживал высокие котировки на нефть.
🇨🇳Китай и экономические стимулы
Нефтяные рынки также находятся под давлением из-за охлаждения ожиданий относительно новых мер поддержки экономики Китая, который является крупнейшим импортером нефти.
📌 Что дальше?
Рынки ждут официального отчета Минэнерго США. Если данные подтвердят резкий рост запасов, это может усилить опасения по поводу спроса на топливо и повлиять на дальнейшее движение цен.
#АнализРынка#нефть#Brent#WTI
Нефть резко дешевеет после недавнего роста
К утру в Москве майские фьючерсы на Brent упали на 6,13%, достигнув $92,89 за баррель, несмотря на рост в понедельник. Аналогично, апрельские фьючерсы на WTI снизились на 6,53%, до $88,58 за баррель. Такой откат происходит после достижения максимумов более чем за три года, когда нефть стоила около $120 за баррель. Коррекция цен отражает баланс между спросом и предложением на мировом рынке.
Источник: interfaxonline
#нефть#Brent#WTI#рынок#экономика
Главные новости России и мираздесь.
Нефть продолжает дорожать на мировых рынках
В среду утром цены на нефть марки Brent выросли на 0,82%, достигнув $67,88 за баррель, продолжив рост после заметного подорожания на 1,6% во вторник. Фьючерсы на WTI также прибавили почти 1%, поднявшись до $63,83 за баррель. Рост цен поддерживается оптимизмом на фоне стабильного спроса и ожиданий по сокращению поставок. Такие данные приводит @interfaxonline.
#нефть#Brent#WTI#цены#энергетика
Главные новости России и мираздесь.
Нефть утром восстанавливает утраченные позиции
В четверг утром цена майских фьючерсов на Brent поднимается на 1,81% — до $104,07 за баррель после падения на 2,2% накануне. Контракты на WTI выросли на 1,92%, достигнув $92,05, после снижения на 2,2%. Рост свидетельствует о коррекции рынка после вчерашних потерь.
"Цены на нефть демонстрируют волатильность на фоне глобальных экономических и геополитических факторов."
#нефть#Brent#WTI#энергетика#рынок
Главные новости России и мираздесь.
Нефть снижается утром в среду после роста во вторник
К 8:11 мск майские фьючерсы Brent на ICE Futures упали на $2,15 (2,08%), до $101,27 за баррель после роста на $3,21 во вторник. Аналогично, апрельские фьючерсы WTI на NYMEX снизились на $2,95 (3,07%), до $93,26, хотя ранее выросли на $2,71. Коррекция цен отражает волатильность на мировом нефтяном рынке.
"Рынок нефти остается под давлением геополитики и спроса," — отмечают эксперты.
#нефть#Brent#WTI#рынок#энергетика
Главные новости России и мираздесь.
Цена нефти Brent превысила $92 за баррель, WTI — выше $90
Стоимость майских фьючерсов на Brent на лондонской бирже ICE выросла почти на 7,8%, превысив $92 за баррель. Американская нефть WTI на апрель на NYMEX подскочила более чем на 11%, достигнув отметки выше $90 за баррель. Такие резкие скачки связаны с глобальной нестабильностью на энергетическом рынке и геополитическими факторами.
Источник: interfaxonline
#нефть#Brent#WTI#энергетика#рынок
Главные новости России и мираздесь.