Функция 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
🔖 Zigbee Guide: How-to add/setup local custom ZHA Device Handlers (also known as ”quirks”) in the ZHA integration - Community Guides - Home Assistant Community #pinboard#homeassistant#zigbee
接下来的工作,要开始写 HA 插件了~~
https://community.home-assistant.io/t/zigbee-guide-how-to-add-setup-local-custom-zha-device-handlers-also-known-as-quirks-in-the-zha-integration/683473
🔖 ZHA vs Zigbee2Mqtt - which is the most stable? - Configuration / Zigbee - Home Assistant Community #pinboard#zigbee#homeassistant
https://community.home-assistant.io/t/zha-vs-zigbee2mqtt-which-is-the-most-stable/517106
🌐Когда Zigbee захватит мир IoT и что вы знаете о Suzi?
Если вы интересуетесь миром IoT и Smart Home, то вам стоит посмотреть выпуск, в котором Евгения Пешкова, президент DSR Corporation, и Эндрю О’Хара из AppleInsider обсудили выход Zigbee 4.0 от Connectivity Standards Alliance.
🔒Спойлер: CSA выпустил Suzi, новый субгигагерцевый протокол. Это версия Zigbee, которая работает на частотах 800 МГц и 900 МГц и поэтому «добивает» дальше. Умные устройства смогут работать надёжно даже в больших домах и на улице.
Переходите по ссылке, если хотите больше технических подробностей. Видео на английском, таймкоды в описании.
ℹ️ Zigbee — это энергоэффективный беспроводной протокол для умного дома, позволяющий устройствам (датчикам, лампочкам и т. д.) связываться друг с другом в рамках единой mesh-сети.
📝DSR является членом альянса разработчиков Zigbee с 2012 года.
#Zigbee#IoT#Embedded#DSR
🏆DSR Corporation получила 4 престижные награды от CSA
Компания с 2012 года активно участвует в работе Альянса стандартов подключения (The Connectivity Standards Alliance), внося особенно значительный вклад в развитие беспроводного протокола Zigbee. Представители DSR активно участвовали в работе Альянса - выступали модераторами и проводили дискуссии.
👉Подробнее рассказываем здесь!
🎉За выдающийся вклад в деятельность рабочих групп CSA были отмечены:
✅Евгения Пешкова, President
✅Артём Вакулин, Senior Software Embedded Engineer
✅Евгений Эксаревский, Principal Software Architect
✅Владимир Степанченко, Wireless Products Manager
Мы гордимся своим участием в разработке технологий для умных домов и IoT-устройств, таких как стек Zigbee и фреймворк zHome. Присоединяйтесь к нам, чтобы стать частью команды профессионалов! 👀
#DSRCorporation#CSA#Zigbee#IoT#DSR_team
Участников ZBOSS Open Initiative становится все больше!
🔝Сообщество вокруг нашего продукта ZBOSS растет. Это высокопроизводительный и платформо-независимый программный стек Zigbee.
➡️Мы рады сообщить, что в сообществе ZOI теперь 12 компаний. В их числе производители полупроводников, умных устройств и провайдеры IoT- сервисов.
📌Цель ZOI — продолжить разработку единой программной платформы для умных устройств. Она позволит участникам сообщества сфокусироваться на функционале своих продуктов, не тратя ресурсы на поддержку стека и разработку для него новых функций.
#DSR#DoingSoftwareRight#ZOI#Zigbee#iot
📣 DSR Corporation рада объявить, что наша стек ZBOSS теперь полностью поддерживает последнюю версию протокола Zigbee - Zigbee PRO 2023.
🛠 В новой версии от CSA улучшены безопасность и UХ.
Альянс стандартов подключения (The Connectivity Standards Alliance, ранее Альянс Zigbee) — это сообщество компаний, работающих над развитием, техническими спецификациями и продвижением стандартов беспроводной связи для умных домов и IoT-устройств. DSR является членом альянса с 2012 года и с тех пор активно вносит свой вклад в работу организации, особенно в разработку протокола Zigbee.
#DSRCorporation#DoingSoftwareRight#ZBOSS#Zigbee#CSA#IoT#умныедома#интернетвещей