Tabulation dans expression régulière

Résolu/Fermé
Blopette Messages postés 315 Date d'inscription vendredi 24 août 2007 Statut Membre Dernière intervention 3 octobre 2012 - 18 avril 2011 à 16:03
Blopette Messages postés 315 Date d'inscription vendredi 24 août 2007 Statut Membre Dernière intervention 3 octobre 2012 - 19 avril 2011 à 10:04
Bonjour,

J'utilise actuellement les expressions régulières pour lire un fichier. Pas de problème, sauf sur la dernière partie. Y a-t-il un moyen d'utiliser la tabulation comme on utiliserait le point ou un groupe de caractères? Par exemple faire \t* pour signaler entre 0 et n tabulations, comme on aurait .* pour signaler entre 0 et n caractères quelconques.
Je n'arrive pas à trouver la solution.

Merci d'avance pour les idées!

3 réponses

blux Messages postés 25971 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 17 avril 2024 3 284
18 avril 2011 à 16:07
Salut,

à ma connaissance, ça doit marcher.

Quel est ton souci ?
0
Blopette Messages postés 315 Date d'inscription vendredi 24 août 2007 Statut Membre Dernière intervention 3 octobre 2012 273
18 avril 2011 à 16:19
Il ne reconnaît plus ce que je lui demande quand je mets \t*. Idem avec (\t) et [\t]* alors que quand je mets \t ou bien \t\t il reconnait bien le schéma.

En fait j'ai deux types de lignes : un qui finit par \t\t et l'autre qui finit par \t suivi de texte puis suivi de \t, c'est pourquoi j'avais tenté de mettre seulement \t.*$ pour reconnaître les deux types de lignes confondues, mais ça ne fonctionne pas.
0
blux Messages postés 25971 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 17 avril 2024 3 284
Modifié par blux le 18/04/2011 à 21:23
As-tu essayé :
\t{*}
pour voir ?
0
Blopette Messages postés 315 Date d'inscription vendredi 24 août 2007 Statut Membre Dernière intervention 3 octobre 2012 273
19 avril 2011 à 10:04
Après une nuit loin de ce code, j'ai réussi du premier coup ce matin.

Toutes mes lignes finissent soit par "1,00 tab Oui tab" ou par "1,00 tab tab". Donc la fin de ma regex est : "\t.*\t$" et ça marche.

Merci de m'avoir aidé!
0