Question sur regex.h

Question sur regex.h - C++ - Programmation

Marsh Posté le 09-06-2006 à 10:43:27    

Hello! Ma question s'adresse aux utilisateurs d'expressions régulières et de la librairie regex.h sur linux. Je l'utilise en ce moment sur un projet cpp, et je me posais une petite question.
 
Est-il possible de récupérer toutes les occurences d'un pattern dans une séquence ?
En effet, j'ai l'impression que dans une chaine on ne peut uniquement récupérer que la première occurence d'une expression régulière passée en paramètre.
 
Je m'explique... Par exemple, sur la chaine "tototatatotitoto", est-il possible de récupérer les deux toto ?
 
Voila, merci d'avance si vous savez si c'est possible, et si vous connaissez la solution.

Reply

Marsh Posté le 09-06-2006 à 10:43:27   

Reply

Marsh Posté le 09-06-2006 à 11:02:52    

oui c'est possible, et utilises plutot boost.Regex, c'est beaucoup plus simple
il y a des exemples dans la doc pour faire ce que tu veux
http://www.boost.org/libs/regex/doc/index.html

Reply

Marsh Posté le 09-06-2006 à 11:08:42    

oui c'est vrai que c'est possible avec les zones de capture, voir parenthèses.

Reply

Marsh Posté le 09-06-2006 à 11:35:01    

Je connaissais boost, mais malheureusement je peux pas installer ce que je veux sur la machine linux qui va accueillir mon prog... Je suis donc obligé d'utiliser les outils de base et regex.h et le seul à ma connaissance.

Reply

Marsh Posté le 09-06-2006 à 11:54:12    

tu es sur ? boost est inclue dans les principales distributions gnu/linux.

Reply

Marsh Posté le 09-06-2006 à 12:02:57    

Ah non, je savais pas, j'étais persuadé qu'il fallait installer la librairie. Je vais voir ça merci !

Reply

Marsh Posté le 09-06-2006 à 12:07:46    

Et bien non, elle est pas installée par défaut, je suis obligé d'utiliser regex.h.... Ca avait l'air quand même plus puissant l'utilisation d'expressions régulières avec boost.

Reply

Marsh Posté le 09-06-2006 à 12:20:53    

sur, tu as quelle distribution ?

Reply

Marsh Posté le 09-06-2006 à 13:58:44    

Je travaille sur une distribution SuSE.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed