Reguliere expressies gebruiken

Dart:
Reguliere expressies gebruiken

Hoe:

Dart gebruikt de RegExp klasse voor reguliere expressies. Hier is een basisvoorbeeld om een eenvoudig patroon binnen een string te matchen:

void main() {
  var pattern = RegExp(r'\bDart\b');
  var text = 'Learning Dart programming is exciting.';

  if (pattern.hasMatch(text)) {
    print('Match gevonden!');
  } else {
    print('Geen match gevonden.');
  }
  // Uitvoer: Match gevonden!
}

Om matches uit een string te extraheren, kun je de allMatches methode gebruiken. Deze methode retourneert een iterabel van matches:

void main() {
  var pattern = RegExp(r'\b\w+\b');
  var text = 'Dart is awesome!';

  var matches = pattern.allMatches(text);
  for (final match in matches) {
    print(match.group(0)); // Dit print de overeenkomende substrings.
  }
  // Uitvoer:
  // Dart
  // is
  // awesome
}

Tekst vervangen kan worden bereikt met de replaceFirst of replaceAll methoden:

void main() {
  var pattern = RegExp(r'\bDart\b');
  var text = 'Dart is niet zomaar een dart.';
  
  // Vervang eerste voorkomen
  var gewijzigdeTekst = text.replaceFirst(pattern, 'Flutter');
  print(gewijzigdeTekst); 
  // Uitvoer: Flutter is niet zomaar een dart.

  // Vervang alle voorkomens
  gewijzigdeTekst = text.replaceAll(pattern, 'Flutter');
  print(gewijzigdeTekst);
  // Uitvoer: Flutter is niet zomaar een flutter.
}

Een string splitsen met een regex patroon is eenvoudig met de split methode:

void main() {
  var pattern = RegExp(r'\s+'); // Matcht elk witruimteteken
  var text = 'Dart is leuk';

  var delen = text.split(pattern);
  print(delen); 
  // Uitvoer: [Dart, is, leuk]
}

Voor complexe parsing of validaties die niet direct door Dart’s RegExp worden ondersteund, zou je kunnen overwegen om third-party bibliotheken te gebruiken, maar Dart’s standaardbibliotheek is vaak voldoende voor de meeste reguliere expressietaken, wat de bruikbaarheid en veelzijdigheid ervan benadrukt bij het afhandelen van reguliere expressies.