expressions régulières - C - Programmation
Marsh Posté le 05-01-2004 à 16:50:02
tu peux lire les lignes avec fgets/getline
après t'as pas besoin d'expression régulière, juste tu repère le mot, et tu émets des séquences ascii
Marsh Posté le 05-01-2004 à 17:30:52
En fait, après vérification, le prog doit être capable de reconnaître des chaines du genre ab*, ou encore abab... (un nombre indéterminé de fois). C'est pour ça que les expressions régulières semblaient bien convenir.
Marsh Posté le 05-01-2004 à 17:32:20
quoi semble convenir ...; si y a des expressions régulières ...
ben joue avec l'api de Linux
t'es sur de vouloir faire ça en C ?
Marsh Posté le 06-01-2004 à 22:10:53
(en c++ -> boost.regex)
Marsh Posté le 06-01-2004 à 23:13:57
ReplyMarsh Posté le 06-01-2004 à 23:14:50
non, mais je regarde les fonctionnalités de boost en ce moment
je note qu'il y a rien sur le reseau (sockets)
Marsh Posté le 06-01-2004 à 23:20:42
ouaip, je sais bien. C'est ennuyeux, mais y a des trucs quand même qui existent, voir GNUCommonC++ par exemple
Marsh Posté le 07-01-2004 à 09:26:28
Tu as la fonction glob qui est bien pratique, mais je ne suis pas sur qu'elle soit standard, elle fait surement partie de la lib GNU.
A+
Marsh Posté le 05-01-2004 à 15:33:51
Bijour tout le monde !
Voilou, j'aimerais faire un prog sous linux qui lit du texte sur l'entrée standard, et qui me le renvoie avec des mots en gras (que l'on a mis en argument à la ligne de commande).
On m'a dit qu'avec des expressions régulières, ça devrait bien passer ...
Alors jusqu'à maintenant, j'ai récupéré la liste des arguments, que j'ai mis sous forme d'une liste :
struct reglst {
char *expr; /*expression régulière*/
regex_t re; /*expression régulière compilée*/
struct reglst *next /*maillon suivant*/
}
J'ai compilé tout ce beau monde, mais maintenant, je dois lire ligne par ligne sur l'entrée standard et appliquer mes regex pour savoir quoi mettre en gras : comment faire cette dernière étape ???