Функция 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
Немецкая компания Rheinmetall сотрудничает с ICEYE, чтобы интегрировать возможности радарных данных в свои боевые системы нового поколения [ссылка]
Немецкий поставщик военной техники, компания Rheinmetall, заключила соглашение о сотрудничестве с компанией ICEYE, обладающей крупнейшей на сегодняшний день группировкой радарных спутников.
В рамках этого соглашения Rheinmetall будет интегрировать возможности ICEYE в свои боевые системы нового поколения. Кроме того, Rheinmetall и ICEYE реализуют совместные возможности на нескольких рынках по всему миру, включая Германию и Венгрию, где Rheinmetall в рамках данного соглашения получила эксклюзивные права на распространение радарных данных ICEYE среди военных и правительственных пользователей.
В июне 2024 года компания из Дюссельдорфа уже объявила о своем участии в создании крупнейшей в мире группировки радарных спутников. Таким образом, Rheinmetall стремится сделать данные космической разведки пригодными для использования на тактическом поле боя.
Армин Паппергер, генеральный директор Rheinmetall AG: “Космическая сфера является неотъемлемой частью оборонной стратегии и имеет большое значение для наших военных клиентов. Мы убеждены, что объединение наших возможностей позволит нам разработать инновационные подходы и предложить индивидуальные решения для наших военных клиентов в будущем”.
📸Художественное изображение группировки радарных спутников ICEYE на орбите (источник).
#война#SAR#iceye
Министерство обороны Финляндии планирует приобрести спутники у компании Iceye
Министерство подготовило письмо о намерениях, которое позволяет вооруженным силам Финляндии закупить радарные спутники от Iceye, а также определяет предварительный план и сроки поставки. Кроме того, оно охватывает технические решения и системы, необходимые Финляндии для создания автономной национальной системы космического наблюдения.
“Приобретая отечественные спутники, мы укрепляем наши независимые возможности космической разведки и наблюдения, одновременно поддерживая отечественную высокотехнологичную оборонную промышленность и создавая новые возможности для углубления сотрудничества с союзниками и партнёрами”, — заявил министр обороны Финляндии Антти Хяккянен (Antti Häkkänen).
Ряд европейских стран уже договорились с Iceye о покупке радарных спутников или организации их производства. Ранее Королевские военно-воздушные силы Нидерландов объявили о планах приобрести четыре спутника у Iceye. У компании также есть недавние сделки в Польше, Германии и Португалии.
Источник
#iceye#финляндия#война
Радарные спутники миссии Transporter-11
Особенностью миссии SpaceX Transporter-11 стало то, что подавляющее большинство из 116 полезных нагрузок находилось в транспортно-пусковых контейнерах Exolaunch, ISISpace, D-Orbit ION, Maverick Space Systems и SEOPS. Десять спутников, в том числе британский Tyche, о котором мы рассказывали, размещались отдельно.
В контейнере Exolaunch были запущены: 🛰спутник Capella-15 (Capella Acadia 5) массой 160 кг, и четыре 🛰спутника компании ICEYE — X33/39/40/43 — массой 90 кг каждый. Среди них первый из семи спутников, изготовленных для компаний Bayanat и Yahsat из Объединенных Арабских Эмиратов.
Отдельно выведены на орбиту 🛰 аппарат QPS-SAR-8 (Amateru-IV) японской компании iQPS, и два 🛰 спутника Umbra 9 и 10 одноимённой американской компании.
Все космические аппараты выведены на орбиту высотой 590 км.
📸Развёртывание антенны спутника Amateru-Ⅳ на фоне Земли (источник).
#SAR#япония#capella#umbra#iceye#ОАЭ