La création des expressions rationnelles peut être, de prime abord, moins intuitive qu'en JavaScript.
Pour créer une regex en Dart, donc, il faut créer un objet
RegexExp:
void main()
{
final RegExp regex = new RegExp("^M");
}
Notre Regex "matchera" si la ligne commence par un M majuscule.
Voici un exemple d'utilisation:
void main()
{
final RegExp regex = new RegExp("^M", caseSensitive: false);
final String string = "My awesome regex !";
if(string.contains(regex))
{
print("It works !");
}
try
{
var words = regex.allMatches(string); //Renvoie une instance de la classe Iterable<Match> contenant tous les éléments respectant les critères de la regex
if(words.isNotEmpty)
{
for(var word in words)
{
print("word=${word.group(0)}"); //On récupère la première entrée (et la seule pour cet exemple)
}
}
else
throw new Exception("words list is empty.");
}catch(e, stack)
{
print(stack);
}
//On protège l'opération avec un try/catch
}