Chez oim, forum libre

Débattre => Informatique, programmation, geek attitude... => Discussion démarrée par: Songbird le mercredi 15 juin 2016, 05:11

Titre: Comment créer une regex en Dart ?
Posté par: Songbird le mercredi 15 juin 2016, 05:11
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:
Code
void main()
{
    final RegExp regex = new RegExp("^M");
}

Notre Regex "matchera" si la ligne commence par un M majuscule.

Voici un exemple d'utilisation:
Code
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
}