Bonjour,

Je cherche à effectuer la liste des fichiers dans un dossier selon un filtre, en passant par les expressions régulières.
Cependant, il semblerait que par exemple, lorsque j'utilise une expression régulière commençant par *, je prends une exception "invalid preceding regular expression"

J'utilise la version 1.34.1 de Boost avec l'IDE Borland C++ Builder...

Voici mon bloc de code :

Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
    boost::regex filter;
    filter.assign("*\.xml"); 
    directory_iterator end_itr;
    for (directory_iterator iter(directory); iter != end_itr ; iter++)
    {
      if (is_directory(iter->status()))
         continue;
 
      if (boost::regex_match(iter->path().leaf(), filter))
         fileList.push_back(iter->path().file_string());
    }
// fileList est un vecteur contenant la liste des fichiers répondant aux critères

Si vous aviez une indication à me donner pour résoudre ce problème bien embêtant, ce serait génial...

Merci