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 16/11/2007, 12h28   #1
Invité de passage
 
Inscription : mai 2007
Messages : 19
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 19
Points : 4
Points : 4
Par défaut Capturer les chaînes situées entre deux symboles

Je veux récupérer dans une chaine tout ce qu'il y a entre GN_( et )_

exemple de string :

$strg = "omhjb) uh(oujh) GN_(ouhu_kjbu(kbju)jbkjb)_knljbnjbGN_(igukhvb)_kgh";

Si mon pattern est : GN_\((.*)\)_ : il prend du premier jusqu’au dernier : ouhu_kjbu(kbju)jbkjb)_knljbnjbGN_(igukhvb

J’ai essayé ça mais ça ne marche pas : GN_\(([^(\)_)]*)\)_

Merci pour votre aide
babib92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2007, 13h21   #2
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Citation:
Envoyé par babib92
Si mon pattern est : GN_\((.*)\)_ : il prend du premier jusqu’au dernier : ouhu_kjbu(kbju)jbkjb)_knljbnjbGN_(igukhvb
Il faut indiquer le caractère non gourmand de l'expression (option globale U ou faire suivre le quantifieur (* ici) de ? :
Code :
1
2
3
if (preg_match_all('~GN_\((.*)\)_~U', $string, $matches, PREG_SET_ORDER)) {
    print_r($matches);
}
On peut également suivre la deuxième voie que vous proposez mais elle a besoin d'être corrigée, par exemple en :
Code :
1
2
3
if (preg_match_all('~GN_\(([^)]*)\)_~', $string, $matches, PREG_SET_ORDER)) {
    print_r($matches);
}
Les caractères d'une classe sont considérés de manière individuelle (un ou logique) et non de manière globale (comme une chaîne de caractères) : voir le sujet Exclure une chaine dans un motif, pour extraire des liens html pour de plus amples détails.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2007, 14h20   #3
Invité de passage
 
Inscription : mai 2007
Messages : 19
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 19
Points : 4
Points : 4
Par défaut merci ça marche

Merci de votre aide
babib92 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 10h59.


 
 
 
 
Partenaires

Hébergement Web