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 24/12/2007, 10h48   #1
Invité de passage
 
Inscription : décembre 2007
Messages : 5
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 5
Points : 0
Points : 0
Par défaut Expression reguliere (exclusion de caractères)

Bonjour,

Voila je souhait, grâce à une expression régulière, retrouver toutes mes lignes où j'ai des nombres mais en ne tenant pas compte des caractères encodés. Exemple :

La ligne : 'Tours cedex 09' doit etre retournée
La ligne : 'Paris la D& #233;fense' ne doit pas etre retournée
La ligne : 'Paris la D& #233;fense cedex 01' doit etre retournée



Merci à vous pour votre aide. Bonnes fêtes de fin d'année à tous.
whasaaaa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2007, 11h23   #2
Membre habitué
 
Inscription : mars 2007
Messages : 104
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : mars 2007
Messages : 104
Points : 104
Points : 104
pour moi, ton expreg devrait être :

"[:digit:]+"

Essaie et dis moi quoi...
Cemos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2007, 11h29   #3
Membre actif
 
Inscription : janvier 2006
Messages : 149
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : janvier 2006
Messages : 149
Points : 186
Points : 186
Bonjour,

Un (^#[:digit:]?) en gros ?
Vell est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2007, 11h35   #4
Invité de passage
 
Inscription : décembre 2007
Messages : 5
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 5
Points : 0
Points : 0
Ni l'une ni l'autre ... il me retourne toutes les lignes !

Pour le moment j'ai mis celle-ci
"\s+[0-9]+" => je recherche toutes les lignes avec un blanc avant les chiffres mais cette RE ne tient pas compte par exemple de cedex09 mais exclus bien les caractères encodés # quelque chose.

Merci pour votre aide
whasaaaa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2007, 11h36   #5
Membre actif
 
Inscription : janvier 2006
Messages : 149
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : janvier 2006
Messages : 149
Points : 186
Points : 186
Alors avec un (^\#[:digit:]?) ça marche mieux ?
Vell est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2007, 11h39   #6
Invité de passage
 
Inscription : décembre 2007
Messages : 5
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 5
Points : 0
Points : 0
Non désolé, cela ne retourne rien du coup
whasaaaa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2007, 11h40   #7
Membre actif
 
Inscription : janvier 2006
Messages : 149
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : janvier 2006
Messages : 149
Points : 186
Points : 186
Tu peux me donner ta regex complète ?
Vell est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2007, 11h42   #8
Invité de passage
 
Inscription : décembre 2007
Messages : 5
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 5
Points : 0
Points : 0
Ben elle ne dois faire que cela !!!
whasaaaa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2007, 13h17   #9
Membre habitué
 
Inscription : mars 2007
Messages : 104
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : mars 2007
Messages : 104
Points : 104
Points : 104
Voici la bonne expression régulière, je l'ai testée et elle fonctionne.

'.*[0-9]+.*'

Code :
1
2
3
4
5
6
7
8
9
 
if(eregi('.*[0-9]+.*', $champ))
{
       return 1;
}
else
{
       return 0;
}
si $champ est "Salut", ca retourne 0,
si $champ est "Salut 12", ca retourne 1,
si $champ est "Salut 12 Salut", ca retourne 1,
si $champ est "12 Salut ", ca retourne 1,
si $champ est "Coca Salut ", ca retourne 0,
Cemos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2007, 13h24   #10
Invité de passage
 
Inscription : décembre 2007
Messages : 5
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 5
Points : 0
Points : 0
Oui mais ca retourne aussi 1 pour &# 255; alors que je veux que la regep ne tienne pas compte des caractéres encodés. Voir les exemples donnés au debut
whasaaaa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2007, 13h27   #11
Membre habitué
 
Inscription : mars 2007
Messages : 104
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : mars 2007
Messages : 104
Points : 104
Points : 104
je suppose que tous les caractères encodés sont de la forme #321 n'est-ce pas ?

Le cas échéant, tente ceci :

Cemos est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h46.


 
 
 
 
Partenaires

Hébergement Web