Функция 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
When you walk, you earn Gems 🥇
For Gems, you, as a player, fill in the progress in the Level progress bar. Once it is complete, you can increase the level for $WLKN (token, which can be bought on the exchange or earned in competitions).
The level bar shows the overall progress. As you move to the next level, your character becomes flawless. $WLKN #gamefi#nfts#blockchaingame
📜Status Report 3: Getting ready for the Beta
⚙️iOS
Migration to mainnet
Finalised UI/UX
Finished balancing the game for beta test
Added hints and tips, also updated tutorial
⚙️Android
Added CAThlete selection screen
Stay tuned!
P.S. Beta is launching on March 14. You still can sign up for the testers whitelist on https://walken.io🚀
#walken#blockchaingame#NFTs
A few months back Mark Zuckerberg introduced Meta.
The company's focus is to bring metaverse to life and help people to connect. It is going to be like a mixture of today’s online social experiences and the real world.
In your opinion, can virtual life overtake real one? #meta#gamefi#nfts#blockchaingame
📢📢📢GIVEAWAY
We’re excited to announce our very first giveaway! We’re giving 1 MILLION $WLKN to our community!🦁
There will be 250 lucky Winners🪙
The more entries you make, the higher your chances are to become one of the winners and get your share of tokens 🎁
🍀 Follow the link and enter today:
https://gleam.io/v3Da1/walken-giveaway
#nft#walken#blockchaingame#giveaway
Hi there! 😃
We’ve been wondering how keen you are on walking 👟- maybe you have a job that keeps you on your feet, or walking happened to be your favourite pastime?
🐾 In Walken, the more you walk, the higher 📈 your step count is - the more in-game Gems 💎you’ll get!
Given that 1ksteps = 1 gem , how many Gems 💎 would you get per day (on average) today?
A quick reminder: the app is not available yet, and we’re doing our best to bring it live as soon as possible! Initial DEX offering (IDO) is coming late Feb, will do our best to start a beta before that. There will be both iOS and Android version, so no worries!
*
We’ll be keeping you updated here and on Twitter, so stay tuned 📻 and we’ll let you know when you’ll be able to join the beta test and get your CAThlete!
🐦 twitter: https://twitter.com/walken_io
🧨 medium: https://medium.com/@walken.io
🕹️ discord: https://discord.gg/QJDnFt6S4J
#nft#walken#walkandearn#NFTGaming#blockchaingame
Welcome to our news channel! 👋
WALKEN is a new NFT game that converts your steps 🚶in real life into tokens 🎮. Comming really soon! ⚡
Join to stay up to date about release news, promo drops and development updates 🐨
🐦 twitter: https://twitter.com/walken_io
🧨 medium https://medium.com/@walken.io
🕹️ discord https://discord.gg/S2GvpU24
#nft#walken#walkandearn#NFTGaming#blockchaingame
📢 BETA TEST is coming soon!
We know you're itching to have a go and acquire your first CAThlete 🐷 Great news: gameplay development is progressing, and we're preparing a 💥playable beta💥!
We are grateful for your patience and will announce the start of beta testing in advance⏰ Stay tuned and don't miss out on the fun!
🐦 twitter: https://twitter.com/walken_io
🧨 medium https://medium.com/@walken.io
🕹️ discord https://discord.gg/QJDnFt6S4J
#nft#walken#walkandearn#NFTGaming#blockchaingame#betatest#betatester