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/01/2011, 16h29   #1
Membre Expert
 
Inscription : avril 2006
Messages : 1 338
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2006
Messages : 1 338
Points : 1 315
Points : 1 315
Par défaut Regex sur les 3 premiers caractères d'une chaine

Bonjour
j'ai besoin de créer une regex qui me permet de testé si les trois premiers caractères d'une chaine sont compris dans cette liste :

('ABD', 'ABS', 'AGS', 'AMS', 'AN', 'AS', 'ATQ', 'BAQ', 'BAS', 'BHM', 'BHQ', 'BJQ', 'BNAE', BS', 'BSSP', 'CSP', 'DA', 'DAN','DHS', ' DIN', 'DMZ', 'DTD', 'EN', 'FON', 'GAQ', 'GBQ', 'HAN', 'ISO', 'LHQ', 'LJ', 'LN', 'MBB', 'MIL', 'MS', 'NAS', 'NFE', 'NFL', 'NSA', 'NSE', 'PAN', 'SL', 'SP', 'ST', 'TAN', 'TH', 'VFN')

n'ayant que des connaissances basiques sur les regexs je sollicite votre aide

Merci d'avance
Boo
__________________
Stay in Bed .. Save Energy
boo64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2011, 16h35   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
pas besoin de regexp pour ca, tu prend les 3 premières lettres avec substr et tu fais un in_array
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2011, 16h39   #3
Membre Expert
 
Avatar de jabbounet
 
frederic frances
Inscription : juin 2009
Messages : 1 703
Détails du profil
Informations personnelles :
Nom : frederic frances
Âge : 36

Informations forums :
Inscription : juin 2009
Messages : 1 703
Points : 2 115
Points : 2 115
Une versions simple et non optimisée serait:
Code :
1
2
 
^(ABD|ABS|AGS|AMS|AN|AS|ATQ|BAQ|BAS|BHM|BHQ|BJQ|BNAE|BS|BSSP|CSP|DA|DAN|DHS|DIN|DMZ|DTD|EN|FON|GAQ|GBQ|HAN|ISO|LHQ|LJ|LN|MBB|MIL|MS|NAS|NFE|NFL|NSA|NSE|PAN|SL|SP|ST|TAN|TH|VFN).*
avec
  • ^ : indique que l'on se place au début de la chaîne
  • (...|...|...) que l'on fait un OU entre plusieurs chaînes
  • .* indique que l'on ne se préoccupe pas de la fin de la chaine.

Ensuite la syntaxe peut varier subtilement en fonction de l'outils/langage que tu utilise pour gérer ta regexp.
__________________
BAZAR est un joyeux bordel improvisé ! Tous les mardis.
http://www.improetcompagnie.com/publ...ctacles-6.html

Citation:
Envoyé par Isaac Asimov
Pour réussir, il ne suffit pas de prévoir. Il faut aussi savoir improviser
Pour les utilisateurs d'emacs:
http://www.emacswiki.org/

Attends de voir ce qui vas sortir de:
http://www.pushmid.com
jabbounet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2011, 16h41   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
Citation:
Envoyé par jabbounet Voir le message
.* indique que l'on ne se préoccupe pas de la fin de la chaine.
ah c'est nouveau ca ?
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2011, 16h48   #5
Membre Expert
 
Avatar de jabbounet
 
frederic frances
Inscription : juin 2009
Messages : 1 703
Détails du profil
Informations personnelles :
Nom : frederic frances
Âge : 36

Informations forums :
Inscription : juin 2009
Messages : 1 703
Points : 2 115
Points : 2 115
Citation:
Envoyé par stealth35 Voir le message
ah c'est nouveau ca ?
non je ne crois pas.

. remplace n'importe quel caractères
* indique que cela peut se produire entre 0 et x fois.

donc en ça matche a peu près n'importe quoi.
__________________
BAZAR est un joyeux bordel improvisé ! Tous les mardis.
http://www.improetcompagnie.com/publ...ctacles-6.html

Citation:
Envoyé par Isaac Asimov
Pour réussir, il ne suffit pas de prévoir. Il faut aussi savoir improviser
Pour les utilisateurs d'emacs:
http://www.emacswiki.org/

Attends de voir ce qui vas sortir de:
http://www.pushmid.com
jabbounet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2011, 17h06   #6
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
Citation:
Envoyé par jabbounet Voir le message
non je ne crois pas.

. remplace n'importe quel caractères
* indique que cela peut se produire entre 0 et x fois.

donc en ça matche a peu près n'importe quoi.
je sais bien, c'est que que l'explication n'a rien a voir, c'est inutile de la rajouter d'ailleurs, comme le fait de faire un groupe capturant sur le reste, et comme le fait d'utiliser des regex pour
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2011, 09h10   #7
Membre Expert
 
Inscription : avril 2006
Messages : 1 338
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2006
Messages : 1 338
Points : 1 315
Points : 1 315
Merci à vous deux
stealth dans le cadre de ce projet (longue histoire) je ne peux pas ces fonctions sinon j'aurais pas posté
__________________
Stay in Bed .. Save Energy
boo64 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 04h58.


 
 
 
 
Partenaires

Hébergement Web