Arduino:
Использование регулярных выражений
Как:
Arduino не имеет встроенной поддержки regex, но вы можете имитировать простые проверки шаблонов. Для более сложных задач рассмотрите возможность использования библиотеки regex, такой как Regexp
.
#include <Regexp.h>
void setup() {
Serial.begin(9600);
MatchState ms;
char result;
ms.Target ("Привет, мир!");
result = ms.Match ("(мир)");
if (result > 0) {
char captured[10]; // Убедитесь, что это достаточно большой размер для вашего совпадения
ms.GetCapture (captured, 0);
Serial.print("Совпадение найдено: ");
Serial.println(captured);
} else {
Serial.println("Совпадений не найдено.");
}
}
void loop() {
// Здесь делать нечего.
}
Пример вывода:
Совпадение найдено: мир
Глубже
Регулярные выражения происходят из теоретической информатики и существуют с 1950-х годов. Perl и другие языки имеют сильную реализацию regex, но на Arduino ресурсы ограничены, поэтому нет встроенной поддержки. Библиотеки вроде Regexp
могут стать вашим спасением — они берут на себя часть нагрузки, но помните, что они могут быть ресурсоемкими для меньших микроконтроллеров.
Смотрите также
Проверьте эти ссылки для получения дополнительной информации:
- Библиотека
Regexp
для Arduino: https://www.arduino.cc/reference/en/libraries/regexp/ - Репозиторий библиотеки
Regexp
на GitHub: https://github.com/nickgammon/Regexp - Онлайн тестер regex (для разработки вашего regex перед реализацией): https://regexr.com/