Reguliere expressies gebruiken

Arduino:
Reguliere expressies gebruiken

Hoe:

Arduino heeft geen ingebouwde regex-ondersteuning, maar je kunt eenvoudige patrooncontroles nabootsen. Voor geavanceerdere zaken kun je overwegen om een regex-bibliotheek zoals Regexp te gebruiken.

#include <Regexp.h>

void setup() {
  Serial.begin(9600);
  
  MatchState ms;
  char result;
  
  ms.Target ("Hello World!");
  result = ms.Match ("(World)");

  if (result > 0) {
    char captured[10]; // Zorg dat dit groot genoeg is om je match te bevatten
    ms.GetCapture (captured, 0);
    Serial.print("Match gevonden: ");
    Serial.println(captured);
  } else {
    Serial.println("Geen match gevonden.");
  }
}

void loop() {
  // Niets te doen hier.
}

Voorbeelduitvoer:

Match gevonden: World

Diepgaande Duik

Regex is afkomstig uit de theoretische informatica en bestaat al sinds de jaren 50. Perl en andere talen hebben een sterke regex-implementatie, maar op Arduino zijn de middelen beperkt, dus geen native ondersteuning. Bibliotheken zoals Regexp zijn je vriend—ze nemen een deel van de last op zich, maar onthoud dat ze belastend kunnen zijn voor kleinere microcontrollers.

Zie Ook

Check deze voor meer details: