Korzystanie z wyrażeń regularnych

Dart:
Korzystanie z wyrażeń regularnych

Jak:

Dart używa klasy RegExp dla wyrażeń regularnych. Oto podstawowy przykład dopasowania prostego wzorca w ciągu znaków:

void main() {
  var wzorzec = RegExp(r'\bDart\b');
  var tekst = 'Uczenie się programowania w Dart jest ekscytujące.';

  if (wzorzec.hasMatch(tekst)) {
    print('Znaleziono dopasowanie!');
  } else {
    print('Nie znaleziono dopasowania.');
  }
  // Wynik: Znaleziono dopasowanie!
}

Aby wydobyć dopasowania z ciągu znaków, możesz użyć metody allMatches. Ta metoda zwraca iterowalną kolekcję dopasowań:

void main() {
  var wzorzec = RegExp(r'\b\w+\b');
  var tekst = 'Dart jest niesamowity!';

  var dopasowania = wzorzec.allMatches(tekst);
  for (finalne dopasowanie in dopasowania) {
    print(dopasowanie.group(0)); // To wypisuje dopasowane podciągi.
  }
  // Wynik:
  // Dart
  // jest
  // niesamowity
}

Zastępowanie tekstu można osiągnąć za pomocą metod replaceFirst lub replaceAll:

void main() {
  var wzorzec = RegExp(r'\bDart\b');
  var tekst = 'Dart nie jest tylko dartem.';
  
  // Zastąp pierwsze wystąpienie
  var zmodyfikowanyTekst = tekst.replaceFirst(wzorzec, 'Flutter');
  print(zmodyfikowanyTekst); 
  // Wynik: Flutter nie jest tylko dartem.

  // Zastąp wszystkie wystąpienia
  zmodyfikowanyTekst = tekst.replaceAll(wzorzec, 'Flutter');
  print(zmodyfikowanyTekst);
  // Wynik: Flutter nie jest tylko flutterem.
}

Dzielenie ciągu za pomocą wzorca regex jest proste dzięki metodzie split:

void main() {
  var wzorzec = RegExp(r'\s+'); // Dopasowuje każdy biały znak
  var tekst = 'Dart jest fajny';

  var części = tekst.split(wzorzec);
  print(części); 
  // Wynik: [Dart, jest, fajny]
}

Dla skomplikowanych zadań parsowania lub walidacji nieobsługiwanych bezpośrednio przez RegExp w Dart, można rozważyć użycie bibliotek firm trzecich, ale standardowa biblioteka Dart często wystarcza do powszechnych zadań z regex, podkreślając jej użyteczność i wszechstronność w obsługiwaniu wyrażeń regularnych.