Функция 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
Bitcoin Nears Last Growth Phase
Bitcoin approaches final growth stage per the Wyckoff method, analyst Ali Martinez notes a potential peak at $200,000. More details on the Wyckoff method and trading here: applied trading. Paradigm calls for Ethereum to focus on scaling and aims for at least one major update yearly without changing gas limits.
#Bitcoin#Wyckoff#Crypto#Ethereum#Paradigm#DeFi#VC
Funding Boost for D3's Blockchain Launch
Domain registration startup D3 secures $25M funding led by Paradigm, with participation from Coinbase Ventures. Funds will support upcoming launch of the Doma blockchain. Read more here.
#Blockchain#Funding#Crypto#DomainRegistration#D3#Paradigm#CoinbaseVentures#TechNews#Startups#Investments#DeFi#Web3#Infrastructure#Innovation#VentureCapital#Doma
🚀 Paradigm CEO Highlights Gen Z's Impact on Crypto Innovation
Paradigm, a crypto investment firm managing approximately $12 billion, is led by co-founder and CEO Matt Huang. According to Odaily, Huang acknowledges that while Gen Z employees can sometimes create chaos, their creativity and technological breakthroughs are impressive. He remains committed to investing in young talent, citing the example of Charlie Noyes, who joined Paradigm at 19 after dropping out of MIT. Noyes played a crucial role in MEV research and Flashbots investment, contributing significantly to the Ethereum ecosystem. Huang likens the Paradigm team to running an 'X-Men Academy,' noting that despite the unpredictability of young employees, their technical skills and innovation often surpass those of traditional professionals.
#GenZ#CryptoInnovation#Paradigm#MattHuang#Ethereum#MEV#Flashbots#Investment#YoungTalent#TechBreakthroughs#XMenAcademy#ETH
Aptos Accuses Monad of Code Theft
Aptos research director Alexander Spiegelman has accused Monad of plagiarizing Aptos' open-source code. Monad co-founder James Hunsaker denied these claims, stating that BlockSTM is an extension and that no Aptos code has been utilized. Meanwhile, Monad recently secured $225M funding led by Paradigm, reaching a $3B valuation.
More details: Wu Blockchain News
#Aptos#Monad#Blockchain#Investing#Funding#Paradigm#SOL#Ethereum#DeFi#Crypto#VC#Tech#Innovation#OpenSource#FundingRound#Inflation#Protocols#Development#DEX#SecondSwap
Monad Ecosystem's Rising Interest
The Monad blockchain ecosystem is gaining attention ahead of its launch, focusing on community engagement and innovative projects. Key highlights include:
- Event: Demo day showcased 20 projects, co-hosted by Paradigm with a $750k prize pool.
- Projects: Noteworthy initiatives included:
- Kizzy: A mobile betting platform based on Twitter events.
- Sparkball: A team strategy game soon on Steam.
- LootGO: A Walk2Earn project, previously overlooked.
- Pulse: A health-monitoring bracelet securing $1.8M funding.
- Community and Hype: Founders cite strong community support as a major attractor to Monad.
- Future Vision: Excitement surrounds Monad’s upcoming testnet and potential partnerships with platforms like TON.
#Blockchain#Monad#Crypto#Web3#Gaming#Social#Fundraising#EVMcompatible#Paradigm#DemoDay#Kizzy#Sparkball#LootGO#Pulse#NEOWIZ#Ethereum#Funding#TokenLaunch#Community#Hype