Функция 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
Maritime Debt Recovery under English Law
Большинство думает, что взыскание долга в морской индустрии начинается с арбитража. На практике всё наоборот.
Если контрактная архитектура построена правильно, а доказательства собраны системно, значительная часть bunker debt споров решается до начала арбитража. Именно поэтому профессиональная работа начинается не с иска, а с анализа структуры сделки.
В английской практике взыскание обычно проходит через несколько последовательных этапов:
case intake → contract review → evidence architecture → strategic demand → arbitration → award → enforcement.
Каждый этап выполняет свою функцию.
Где-то создаётся юридическая позиция, где-то усиливается коммерческое давление, а где-то уже формируется арбитражное дело.
В новой инфографике я показал структуру этой системы — как профессиональный workflow взыскания bunker debt в рамках английского права и LMAA arbitration.
Это не теория.
Это реальная рабочая архитектура, которой пользуются maritime lawyers и bunker suppliers.
Если вы работаете с морскими контрактами, поставками топлива или чартерными спорами, понимание этой структуры резко повышает шансы на успешное взыскание.
#EnglishLaw#MaritimeLaw
#BunkerDisputes#LMAA
#Arbitration#DebtRecovery
#ShippingLaw#LegalStrategy
В спорах о бункерной задолженности многие компании делают одну и ту же ошибку: пытаются сразу идти в арбитраж или начинать агрессивное взыскание. На практике это почти всегда приводит к потере времени, денег и стратегических возможностей.
Любое эффективное взыскание начинается не с иска, а с грамотного case intake. Это первичная юридическая диагностика спора. На этом этапе становится понятно, есть ли вообще юридически жизнеспособное требование, против кого его нужно предъявлять и где оно должно рассматриваться.
Первый шаг — идентификация спора. Нужно чётко понять структуру требования: какая поставка, какой инвойс, какая задолженность и на каком основании она возникла.
Далее идёт картирование сторон. В бункерных спорах это критически важно, потому что коммерческая цепочка почти всегда сложная: трейдер, физический поставщик, оператор судна, чартерер, бенефициарные структуры. Ошибка на этом этапе может привести к иску против неправильной стороны.
Следующий этап — проверка юрисдикции. Необходимо определить применимое право, наличие и действительность арбитражной оговорки, а также место потенциального разбирательства.
После этого проводится первичный анализ документов: bunker confirmation, delivery receipt, invoice, условия оплаты и коммерческая переписка. Именно здесь формируется доказательная база будущего дела.
И только затем имеет смысл оценивать реальную перспективу взыскания: силу требования, платёжеспособность должника и возможности исполнения решения.
Результатом этой работы становится Case Assessment Memorandum — документ, который фиксирует юридическую позицию, состояние доказательств, стратегию взыскания и рекомендуемые дальнейшие шаги.
Хорошая юридическая стратегия всегда начинается с диагностики.
Не с иска.
Не с угроз.
А с понимания структуры спора.
#MaritimeLaw⚓#ShippingLaw🚢
#BunkerDisputes⛽
#MaritimeArbitration⚖️#LMAA
#InternationalArbitration🌍
#AdmiraltyLaw#ShippingIndustry
#DebtRecovery💼
Получил позавчера запрос на сопровождение арбитража в Лондоне по очередному бункеровочному делу. И снова та же картина, которую я вижу уже много лет: судно эксплуатируется без законных полномочий, фрахтователь давно лишён права распоряжения, договор расторгнут, но судно продолжает ходить, будто ничего не случилось. Потом прилетает заявка на бункер, поставщик честно выполняет работу, а через месяц компания-фрахтователь уходит в банкротство.
Счёт остаётся висеть в воздухе.
И каждый раз передо мной один и тот же вопрос: кто в итоге несёт ответственность? Кто должен платить за топливо, которое судно фактически съело? Фрахтователь? Слишком поздно. Стивидор? Не тот случай. Судовладелец? «Мы не знали». Но судно работало, топливо использовало, выгоду получило именно оно.
Вот здесь и проявляется сила английского права. Оно не покупается на формальные фразы. Оно смотрит на факты.
Если судно получило выгоду — а владелец не предпринял реальных шагов остановить незаконную эксплуатацию — арбитраж по LMAA вполне может возложить ответственность на владельца. Через доктрину unjust enrichment и implied acceptance английское право умеет доставать истинного выгодоприобретателя даже из-под слоя формальной «невиноватости».
Такие проекты — отличная иллюстрация, почему арбитраж в Лондоне остаётся самым надёжным инструментом в спорах о бункеровке, чартерпати и морских поставках. Он позволяет вытащить деньги даже там, где на первый взгляд их будто бы невозможно вернуть.
Если у вас похожая ситуация:
— судно ушло во фрахт и исчезло из зоны контроля,
— фрахтователь не платит,
— судовладелец дистанцируется,
— арест невозможен,
— юрисдикции разные и всё кажется тупиком,
значит, это уже не обычный долг. Это арбитражный кейс, и его нужно вести правильно.
Я помогаю таким поставщикам, судовладельцам и операторам структурировать стратегию, собирать доказательства, запускать арбитраж в Лондоне, получать решение и взыскивать долг — даже если должник ушёл в банкротство, а судно продолжает работать в другой части света.
Если у вас похожая история — напишите. Такие вопросы лучше решать быстро и грамотно, пока следы ещё не остынут.
#EnglishLaw#Arbitration
#LMAA#MaritimeLaw
#Bunkering#ShippingDisputes
#UnjustEnrichment#LondonArbitration#Charterparty
#MaritimeClaims#DebtRecovery
#LegalStrategy