Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1995 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  probleme regexp

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

probleme regexp

n°1707235
exeed
Posté le 25-03-2008 à 12:25:18  profilanswer
 

Bonjour,
 
Mon problème concerne les expressions régulières.
 
Je récupère une phrase et je souhaiterais en extraire des informations.
 
Elle est de la forme: racine(nombre1)*(nombre2 puissance nombre 3 )+nombre4
 
Il me faut les nombres. J'ai donc écrit une regexp qui ne fonctionne pas :x
(Sachant que le nombre 3 est en exposant)
 
/racine\((\d+\))\*(\d+)(?\d+)+(\d+)/
 
d'où vient mon erreur?
 
Merci
 
 

mood
Publicité
Posté le 25-03-2008 à 12:25:18  profilanswer
 

n°1707318
dreameddea​th
Posté le 25-03-2008 à 14:12:40  profilanswer
 

Bonjour,
 
Bah je pense déjà qu'une bonne séance de relecture "bête" pourrait aider
 
Il y a un pb de \ au début

Code :
  1. racine\((\d+\)\)


 
ensuite, la partie correspondant à  "(nb2 ^ nb3)" est complètement fausse...
 
Le +(\d+) n'est pas bon non plus, car + est un caractère spécial...
 
Ensuite, il n'y a aucun \s, donc aucun espace ne sera matché (pas très "souple" )
 
 
 

n°1708083
exeed
Posté le 26-03-2008 à 14:35:48  profilanswer
 

Citation :


Il y a un pb de \ au début
Code :
 
   1. racine\((\d+\)\)
 


 
En fait j'en ai oublié un non? car je veux des "vraies" parenthèses, donc je dois les échapper de cette facon non?
 

Citation :

ensuite, la partie correspondant à  "(nb2 ^ nb3)" est complètement fausse...
 
Le +(\d+) n'est pas bon non plus, car + est un caractère spécial...
 
Ensuite, il n'y a aucun \s, donc aucun espace ne sera matché (pas très "souple" )


 
Comment le ferais tu toi?
 
Cdlt

n°1710035
dreameddea​th
Posté le 31-03-2008 à 01:00:41  profilanswer
 

pardon pour ce long silence...
 
pour l'histoire des parenthèses c'est juste que tu as protégé la mauvaise...
 
Pour ce qui est du (nb2 ^ nb3), bah déjà, je ne vois pas le caractère ^ dans la regexp, et non plus les \( et \)...
 
Un des + est mal protégé...
 
Sinon, je ne veux pas te donner la solution non plus car ce n'est pas une regexp très poussée en terme de complexité...
 
L'essai erreur sur ce genre de truc marche très bien...

n°1710471
exeed
Posté le 31-03-2008 à 16:50:00  profilanswer
 

en fait, pour le (nb2 ^ nb3) en fait le nb3 est vraiment a la puissance(comme sur du papier , comme le ²)

n°1710495
exeed
Posté le 31-03-2008 à 17:12:18  profilanswer
 

/racine\((\d+)\)\*(\d+)²+(\d+)./
 
En fait voila, la puissance ne change jamais c'est toujours ² et aussi il y a divers mots a la fin de la phrase dont je ne veux pas me préoccuper.
 
Le point . convient il seul?
 
Ou dois je mettre une étoile quelque part?
 
dois je échapper le ² ? :p
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  probleme regexp

 

Sujets relatifs
probleme de regexpProblème de regexp en JS
probleme requete REGEXPPHP-SQL Problème avec REGEXP
Problème avec les regexp...[JS] Probleme de RegExp
[PHP] Regexp : problème pour exclure une chaineBesoin d'un pro? : Problème de regexp (résolu)
[PhP - RegExp] pitit probleme de quotes[php] probleme classique de forum : pros des regexp demandés!
Plus de sujets relatifs à : probleme regexp


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR