Функция 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
🌌Welcome to the Future of Crypto and AI: AskAnyGPT.com🌌
💎 Introducing AskAnyGPT, the ultimate fusion of cryptocurrency and artificial intelligence technologies. Our platform unlocks the potential of AI-driven content generation, chatbots, NFTs, and video creation – all while enhancing your crypto experience with #YieldFarming, Layer-1 & 2 compatibility, and seamless blockchain bridging. Experience the limitless creative possibilities at the forefront of the #AI and #Blockchain revolution.
🚀 AskAnyGPT is the undisputed leader in AI-powered blockchain solutions, offering a comprehensive suite of innovative products:
🔹 AskAnyGPT Chatbot
🔹 AI Image / NFT Generator
🔹 AI Code Translator
🔹 AI Video Generator
🔹 AI Discord & Telegram Bots
🔹 AI Yield Farm
🔹 AskAny GPT SDK
🔹 Mint NFT
🔹 Marketplace
🔹 BSC / Arbitrum / Ethereum Bridge
🔹 Layer-1 & 2 AI-Compatible Blockchains
🔹 DEX / CEX Listing Post-Launch
🔹 CMC / CGK Fast Listing
⚡️Official Launch: May 17th ⚡️
💰 Airdrop AskAnyGPT: 💰
🎁 Reward: $15,000 in $ASK token!
🏆 Winners: 1000+
🤑 Airdrop Link:Here! Secure your spot NOW.
🖥 Official Links:
Website | Daps | Whitepaper | Twitter | Discord | Telegram Chat | Telegram News | Medium
After the horse , what comes next?
yes , a Cow
New farm on #TAPSWAP OASIS pool, A single asset staking where you can stake $BIFI and earn $TAPS!
Check it out!✍️
https://dapp.tapswap.money/#/pools
#HotDeFiSummer#BSC#AMM#YieldFarming#ApeSwap
Watch the video, like it 👍 and comment 💬 to get a prize!
🎞youtube.com/XBANKING
🎞youtube.com/XBANKING
🎞youtube.com/XBANKING
💵 The author of the best comment will get $10 from our channel!
Don't forget to subscribe to our YouTube channel!
#DeFi#Crypto#PassiveIncome#YieldFarming#LiquidityPools#Web3#XBANKING#CryptoInvesting
🚀 Enhanced Labs Secures $1 Million in Pre-Seed Funding for DeFi Expansion
DeFi solutions provider Enhanced Labs has announced the successful completion of a $1 million pre-seed funding round. According to Odaily, the round was led by Maximum Frequency Ventures, with participation from GSR, Selini, Flowdesk, and a group of angel investors. The newly acquired funds are expected to support product development and operations, as well as expand options-based yield strategies to a broader range of on-chain assets, including tokenized real-world assets.
#DeFi#Funding#PreSeed#Crypto#Blockchain#YieldFarming#TokenizedAssets#Startup#Investment#CryptoNews
Bidask: $RAFF & $WEB3 Listings, MyTonWallet & DeWallet Integration + Meme Contest
🏴Two new tokens are now live on Bidask:
• $RAFF — from the Ton Raffles ecosystem
• $WEB3 — from the .ton domain ecosystem
Both are now tradable in pairs against #TON. The WEB3/TON pool features boosted farming through August 5, with up to ~44% APR — rewards in $WEB3 scale based on daily trading volume:
➖ $12.5/day if volume > $10,000
➖ $25/day if volume > $15,000
➖ $37.5/day if volume > $18,000
➖ $50/day if volume > $20,000
➖ $67.5/day if volume > $23,000
➖ $75/day if volume > $25,000
🏆Bidask Meme Contest
Create a meme about Bidask Protocol, post it on X (Twitter) with the hashtag #BidaskMemeContest, and share it in the contest thread in the “meme contest thread” in the Bidask chat.
Only memes posted in both X and the chat thread will qualify.
Contest runs through August 7. Prizes include:
🥇 1st — Toy Bear #52238
🥈 2nd — Record Player #10315
🥉 3rd — Crystal Ball #3932
🏅 4th — Light Sword #7136
🏅 5th — Light Sword #72658
👛 Wallet Integrations
#MyTonWallet and DeWallet (by DFC ecosystem) have added Bidask DEX support — making it even easier to swap and farm.
📈 Top APRs on Bidask DEX right now:
• HYDRA/TON — ~1250% APR
• TON/USDT — ~87% APR
Bidask DEX |Channel
#Bidask#WEB3#RAFF#DeFi#YieldFarming#CryptoNews#CryptoTrading#TON#TONBlockchain#DEX