Regular expression php

Résolu
alino_spirit Messages postés 61 Date d'inscription   Statut Membre Dernière intervention   -  
TheLamia Messages postés 76 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

j'ai une variable $classe sur laquelle j'effectue un test
expl : $classe="380709 jean paris";

on peu avoir plusieurs profs exp : pierre, jean
on peu avoir plusieurs villes exp : paris, geneve

voila le contnu de la variable $classe
$classe="280709 jean paris";
$classe="290709 jean ";
$classe="280709 pierre geneve";

voila le test :
if (ereg("([0-9]{6}) (pierre|jean) (paris|pierre)", $classe, $reg))
{
echo "$reg[1].$reg[2].$reg[3]";
}

la ville peu existe ou pas comment faire pour dire que le paramètre ville est optionnelle ?
la variable $classe peu contenir la ville ou pas

bonne journée
A voir également:

5 réponses

TheLamia Messages postés 76 Date d'inscription   Statut Membre Dernière intervention   31
 
salut,

en méthode pas très belle, tu peux tout simplement remettre toute ton expression en optionnel avec | :

(([0-9]{6}) (pierre|jean) (paris|geneve))|(([0-9]{6}) (pierre|jean))
0
alino_spirit Messages postés 61 Date d'inscription   Statut Membre Dernière intervention   4
 
Bonjour,

Les valeurs de la variable $classe proviennent d'une base de données
et je dois directement test cette variable sans faire aucune modification

Bonne journée
0
TheLamia Messages postés 76 Date d'inscription   Statut Membre Dernière intervention   31
 
tu ne pourra pas tester la chaine représentant ta ville si tu ne peux pas modifier ton expression régulière et si en plus les villes possibles peuvent changer.
dans ce cas je ne vois plus que tester la présence de caractères alphabétiques.
0
alino_spirit Messages postés 61 Date d'inscription   Statut Membre Dernière intervention   4
 
Bonjour,

Merci beaucoup pour ton aide

j'ai testé ton exemple et ça fonctionne à merveille

mai j'ai trouvé une autre méthode

j'utilise "?" pour dire que l'expression entre parenthésé est optionnel

exemple : ([0-9]{6}) (pierre|jean)( (paris|Genève))?

ça fonctionne aussi bien

Merci encore

bonne journée,
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
TheLamia Messages postés 76 Date d'inscription   Statut Membre Dernière intervention   31
 
tout à fait tu as raison et c'est même mieux ! n'hésite pas à passer le sujet en résolu si c'est bien le cas !
0