Expression reguliere, capture et alternative

Expression reguliere, capture et alternative - Divers - Programmation

Marsh Posté le 22-07-2004 à 18:12:21    

Salut
j'ai un souci avec les expressions regulieres
 
J'ai deux type de phrases possibles :  
"toto a 10 francs dans sa poche" ou "toto a 15 euros dans sa poche"
Mon objectif est de recuperer le nombre (10 ou 15)
J'ai essayer ca comme regexp :
    a (([\\d]*) francs |([\\d]*) euros )
mais ca marche pas, ca me retourne, dans le premier groupe : "15 euro" ou "10 francs" et c normal ...
Y a un truc pour que les parentheses ne soit pas capture : c'est "?:"
Donc j'ai essayé :  
    a (?:([\\d]*) francs |([\\d]*) euros )
mais ca marche pas non plus, il me retourne null. Je crains qu'on puisse pas capturer des valeurs à l'intérieur de parenthéses non capturantes ....
De plus, je souhaite que la capture soit dans le premier parametre ...
Un petit coup de main ...
merci
 
 

Reply

Marsh Posté le 22-07-2004 à 18:12:21   

Reply

Marsh Posté le 22-07-2004 à 22:11:19    

Tu n'as qu'à récupérer le chiffre dans un deuxième temps. En plus, je pense que ça accélérerait un petit peu ton expression régulière de faire ça en deux étape successives.


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
Reply

Marsh Posté le 23-07-2004 à 09:04:18    

En fait, j'ai une base avec un tas d'expression reguliere ...et elles fonctionnenent en un coup et avec une seule expression. Donc ca m'embete beaucoup ...
PS : le smiley bleu correspond a un deux points suivi d'une parenthese ouvrante

Reply

Marsh Posté le 23-07-2004 à 23:06:49    

C'est pas plutôt ? : ([\\d]*) (francs|euros)  ?


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
Reply

Marsh Posté le 26-07-2004 à 09:31:45    

C'est pas plutôt ? : ([\\d]*) (francs|euros)  ?
 
bah non ... devant il peut y avoir des mots qui diffèrent selon que ce soit 'francs' ou 'euros' ...
Ya personne qui sait si on peut mettre des parentheses capturantes a l'interieure de parentheses non capturantes ??

Reply

Sujets relatifs:

Leave a Replay

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