Reguläre Ausdrücke verwenden

Dart:
Reguläre Ausdrücke verwenden

Wie:

Dart verwendet die RegExp-Klasse für reguläre Ausdrücke. Hier ist ein einfaches Beispiel, um ein einfaches Muster innerhalb eines Strings zu finden:

void main() {
  var pattern = RegExp(r'\bDart\b');
  var text = 'Das Erlernen der Dart-Programmierung ist aufregend.';

  if (pattern.hasMatch(text)) {
    print('Übereinstimmung gefunden!');
  } else {
    print('Keine Übereinstimmung gefunden.');
  }
  // Ausgabe: Übereinstimmung gefunden!
}

Um Übereinstimmungen aus einem String zu extrahieren, können Sie die Methode allMatches verwenden. Diese Methode gibt ein iterierbares Objekt von Übereinstimmungen zurück:

void main() {
  var pattern = RegExp(r'\b\w+\b');
  var text = 'Dart ist großartig!';

  var matches = pattern.allMatches(text);
  for (final match in matches) {
    print(match.group(0)); // Das druckt die gefundenen Teilstrings.
  }
  // Ausgabe:
  // Dart
  // ist
  // großartig
}

Text ersetzen kann erreicht werden, indem man die Methoden replaceFirst oder replaceAll verwendet:

void main() {
  var pattern = RegExp(r'\bDart\b');
  var text = 'Dart ist nicht nur ein Dart.';
  
  // Erstes Vorkommen ersetzen
  var modifiedText = text.replaceFirst(pattern, 'Flutter');
  print(modifiedText); 
  // Ausgabe: Flutter ist nicht nur ein Dart.

  // Alle Vorkommen ersetzen
  modifiedText = text.replaceAll(pattern, 'Flutter');
  print(modifiedText);
  // Ausgabe: Flutter ist nicht nur ein Flutter.
}

Einen String durch ein regex Muster zu teilen, ist einfach mit der Methode split:

void main() {
  var pattern = RegExp(r'\s+'); // Passt auf jedes Leerzeichen
  var text = 'Dart macht Spaß';

  var parts = text.split(pattern);
  print(parts); 
  // Ausgabe: [Dart, macht, Spaß]
}

Für komplexe Parsing- oder Validierungsaufgaben, die nicht direkt von Darts RegExp unterstützt werden, könnten Sie überlegen, Bibliotheken von Drittanbietern zu verwenden, aber die Standardbibliothek von Dart ist oft ausreichend für gängige regex-Aufgaben, was ihren Nutzen und ihre Vielseitigkeit bei der Handhabung von regulären Ausdrücken unterstreicht.