Bonjour a tous,

je dois extraire des codes postaux d'un champ comportant la ville et le code postale. Evidemment, j'ai des codes postaux etrangers dans la liste (s'eut été trop simple sinon :p).

L'expression régulière ci dessous n'est pas trop mauvaise si ce n'est pour certains cas :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
[a-zA-Z]*-?[0-9]+(?!ORLY|ENTZHEIM|SAINT)[a-zA-Z]*
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Cas foireux:
94577ORLY CEDEX  => 9457 au lieu de 94577
67960ENTZHEIM => 6796 au lieu de 67960
Comme on peut le voir, il me manque systematiquement le dernier chiffre.

Il ne m'est malheureusement pas possible de changer juste les valeurs génantes à la source puisque je crée un script automatisé qui va scanner un très grand nombre d'adresse (plusieurs centaines).

Ci dessous quelques exemples parlants de champs a traiter:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
<VILLE>D-22453 Hamburg</VILLE>    =>    attendu : D-22453
<VILLE>65451 Kelsterbach</VILLE>    =>    attendu : 65451 
<VILLE>94577ORLY CEDEX</VILLE>    =>    attendu : 94577
<VILLE>London SE12XZ</VILLE>    =>    attendu : SE12XZ