Функция 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
🎋Elon Musk killed the whole trucker atmosphere
A first look at the cab of the Tesla Semi electric truck.
🚚 The truck can pull 36 tons and travels up to 800 km on a single charge!
ℹ️ Tesla is finalizing construction of a plant to produce Semi electric trucks in Nevada. According to the company's vice president Lars Moravi, production is on schedule, and the first production vehicles will appear at the end of 2025. Mass production is scheduled for 2026.
With the launch of mass production, Tesla expects to turn the commercial transportation market around, and the Semi will be a key model in the company's strategy.
🤔 The base price of the Tesla Semi with a range of 800 km is $180,000, while the average cost of a new diesel semi-truck is in the range of $120,000 to $150,000.
@CarsNews
#Tesla#trucks#EV
Продукция Büssing-NAG известна благодаря тяжелым моделям грузовиков. Но были у них и машины полегче. Одной из них являлось семейство Burglöwe, данное название стало использоваться с 1935 года, преимущественно для грузовиков с бензиновым двигателем (хотя и для дизельных моделей оно вполне применялось). Как это происходило с теми же Opel Blitz, семейство Büssing-NAG Burglöwe постепенно развивалось. Касалось это и внешнего вида машины. К 1935 году от откровенно "квадратной" решетки радиатора отказались. Более обтекаемой стала кабина, а гамма моторов расширялась. Следует отметить, что данное шасси использовалось далеко не для одних грузовиков. На базе Büssing-NAG Burglöwe выпускались автобусы и различные спецмашины. Шли они и в вермахт, который, хоть и нехотя, но всё же использовал гражданские грузовики.
Облик Büssing-NAG Burglöwe сформировался в 1936 году. Тогда решетка радиатора снова чуть поменялась, плюс изменились передние крылья. Осталось четыре модели - 1,5-тонная Burglöwe 15, далее следовала 2-тонная Burglöwe 20, за ней 2,5-тонная Burglöwe 25, замыкала ряд 3-тонная Burglöwe 30. Между собой 2,5-тонные и 3-тонные модели отличались двигателем. Объем был одинаковым - 3962 кубических сантиметров, но у Burglöwe 25 рядная 6-ка (модель G) развивала 65 л.с. при 2700 об/мин, а на Burglöwe 30 мощность двигателя модели L составляла до 75 л.с. при 3000 об/мин.
Окончательно от семейства Burglöwe отказались в 1939 году, поскольку шел выпуск схожих по грузоподъемности Einheitsdiesel. Да и гражданские машины были уже не нужны - началась война. Ныне такие машины являются очень большой редкостью. И уж тем более радийные фургоны. В данном случае фургон на базе грузового автомобиля Büssing-NAG 30 Burglöwe, снят был в начале августа 2024 года
https://dzen.ru/a/ZrH9knMlkGgTi6Kl
#gemanwheeled
#trucks
#radiocars
🚀 U.S. March Unadjusted Used Cars and Trucks Inflation Rate Remains at -3.2%
The inflation rate for unadjusted used cars and trucks in the United States for March stood at -3.2%, according to Jin10. This figure remains unchanged from the previous value of -3.2%, indicating a consistent trend in the market for used vehicles. The data reflects ongoing dynamics in the automotive sector, which has been experiencing fluctuations in pricing and demand.
#US#Inflation#UsedCars#Trucks#Automotive#MarketTrends