Dart:
Bruke regulære uttrykk
Hvordan:
Dart bruker RegExp
-klassen for regulære uttrykk. Her er et grunnleggende eksempel for å matche et enkelt mønster i en streng:
void main() {
var pattern = RegExp(r'\bDart\b');
var text = 'Læring av Dart-programmering er spennende.';
if (pattern.hasMatch(text)) {
print('Treff funnet!');
} else {
print('Ingen treff funnet.');
}
// Utdata: Treff funnet!
}
For å trekke ut treff fra en streng, kan du bruke allMatches
-metoden. Denne metoden returnerer en itererbar av treff:
void main() {
var pattern = RegExp(r'\b\w+\b');
var text = 'Dart er fantastisk!';
var matches = pattern.allMatches(text);
for (final match in matches) {
print(match.group(0)); // Dette skriver ut de matchende understrengene.
}
// Utdata:
// Dart
// er
// fantastisk
}
Å erstatte tekst kan oppnås ved hjelp av replaceFirst
eller replaceAll
-metodene:
void main() {
var pattern = RegExp(r'\bDart\b');
var text = 'Dart er ikke bare en dart.';
// Erstatt første forekomst
var modifisertTekst = text.replaceFirst(pattern, 'Flutter');
print(modifisertTekst);
// Utdata: Flutter er ikke bare en dart.
// Erstatt alle forekomster
modifisertTekst = text.replaceAll(pattern, 'Flutter');
print(modifisertTekst);
// Utdata: Flutter er ikke bare en flutter.
}
Å dele en streng ved hjelp av et regex-mønster er enkelt ved bruk av split
-metoden:
void main() {
var pattern = RegExp(r'\s+'); // Matcher hvilket som helst mellomromstegn
var text = 'Dart er gøy';
var deler = text.split(pattern);
print(deler);
// Utdata: [Dart, er, gøy]
}
For kompleks parsing eller valideringer som ikke støttes direkte av Darts RegExp
, kan du vurdere tredjepartsbiblioteker, men Darts standardbibliotek er ofte tilstrekkelig for vanlige regex-oppgaver, noe som understreker dets nytte og allsidighet i behandlingen av regulære uttrykk.