Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/05/2011, 17h18   #1
Invité régulier
 
Inscription : avril 2009
Messages : 13
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 13
Points : 6
Points : 6
Par défaut Expression régulière - Nombre entre parenthèses

Bonjour à tous,

Voilà bien longtemps que je n'ai plus touché aux expressions régulières, et bien que les bases ne me posent pas de soucis je rencontre un problème avec la mienne :'(

Donc si quelqu'un pouvait m'aider?

En gros j'ai le texte suivant : Mon texte est là(36)

Et j'aimerais récupérer le 36 entre les parenthèses, qui peut être un nombre entre 0 et 65535.

Donc j'ai cette expression : ^.+\((\d)\).*$
Qui pour moi veut dire : qui commence par quelque chose, jusqu'à rencontrer une parenthèse, puis des nombres, puis une parenthèse, puis éventuellement quelque chose avant la fin.

Ca fonctionne bien, mais même trop bien, en ce sens que je récupère plein d'autres trucs pour autant qu'il y ait des nombres dedans, hors je ne voudrais que les "phrases" qui commencent par quelques mots, puis qui contiennent un nombre entre parenthèses.

Le hic il me semble c'est que la première parenthèse est attrapée par le .+, mais du coup je comprend pas comment ça peut matcher sans trouver la parenthèse...

Donc si quelqu'un pouvait m'aider pour qu'il tienne compte des parenthèses ce serait sympa merci d'avance
scriptiz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2011, 18h17   #2
Invité régulier
 
Inscription : avril 2009
Messages : 13
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 13
Points : 6
Points : 6
C'est bon j'ai réglé mon problème, en fait la classe RegExp en JavaScript est un peu particulière, donc en passant directement mon expression régulière dans une variable ça passe tout seul :

Donc j'avais ceci qui ne marchais pas :
Code :
var regex = nex RegExp("^.+\(([0-9]+)\).*$");

Et maintenant ceci fonctionne niquel
Code :
var regex = /^.+\(([0-9]+)\).*$/;
scriptiz est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h01.


 
 
 
 
Partenaires

Hébergement Web