Dart:
Utilizzo di espressioni regolari
Come fare:
Dart utilizza la classe RegExp per le espressioni regolari. Ecco un esempio base per trovare un semplice modello all’interno di una stringa:
void main() {
var pattern = RegExp(r'\bDart\b');
var text = 'Imparare la programmazione Dart è eccitante.';
if (pattern.hasMatch(text)) {
print('Corrispondenza trovata!');
} else {
print('Nessuna corrispondenza trovata.');
}
// Output: Corrispondenza trovata!
}Per estrarre le corrispondenze da una stringa, puoi usare il metodo allMatches. Questo metodo restituisce un iterabile di corrispondenze:
void main() {
var pattern = RegExp(r'\b\w+\b');
var text = 'Dart è fantastico!';
var matches = pattern.allMatches(text);
for (final match in matches) {
print(match.group(0)); // Questo stampa le sottostringhe corrispondenti.
}
// Output:
// Dart
// è
// fantastico
}Sostituire il testo può essere ottenuto utilizzando i metodi replaceFirst o replaceAll:
void main() {
var pattern = RegExp(r'\bDart\b');
var text = 'Dart non è solo un dardo.';
// Sostituisci la prima occorrenza
var modifiedText = text.replaceFirst(pattern, 'Flutter');
print(modifiedText);
// Output: Flutter non è solo un dardo.
// Sostituisci tutte le occorrenze
modifiedText = text.replaceAll(pattern, 'Flutter');
print(modifiedText);
// Output: Flutter non è solo un flutter.
}Dividere una stringa mediante un modello regex è semplice usando il metodo split:
void main() {
var pattern = RegExp(r'\s+'); // Corrisponde a qualsiasi carattere di spazio bianco
var text = 'Dart è divertente';
var parts = text.split(pattern);
print(parts);
// Output: [Dart, è, divertente]
}Per analisi complesse o validazioni non supportate direttamente dalla RegExp di Dart, potresti prendere in considerazione librerie di terze parti, ma la libreria standard di Dart è spesso sufficiente per compiti comuni con le regex, sottolineando la sua utilità e versatilità nell’uso delle espressioni regolari.