IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Regex sur une adresse postale


Sujet :

avec Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 422
    Points : 83
    Points
    83
    Par défaut Regex sur une adresse postale
    Re-Hello

    En fait je cherche à trouver le bon pattern qui pourra détecter ce genre d'adresses postales au sein d'une longue String:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    12, avenue Valdimir komarov
     
    4 a rue lamartine
     
    60 rue de lyon
     
    4 Rue George Enesco
     
    52 av. Victor Hugo
     
    Place Blaise Pascale
     
    ...
    J'ai utilisé ce pattern mais il ne fonctionne pas pour "60 rue de lyon" mais pas pour "12, avenue Valdimir komarov"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    "[0-9]{1,3}(([,. ]?){1}[-a-zA-Zàâäéèêëïîôöùûüç']+)*"
    Si quelqu'un a une idée je suis preneur

    Merci

  2. #2
    Membre expérimenté
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 088
    Points : 1 540
    Points
    1 540
    Par défaut Une piste
    Sans entrer dans les détails et la simplfication d'expressions régulière, je dirais qu'il faut supprimer le signe " - " devant le a minuscule du dernier terme de votre pattern...
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 422
    Points : 83
    Points
    83
    Par défaut
    Merci pour votre réponse

    Le problème c'est qu'une adresse peut contenir des tirets "-" ...

    Auriez-vous mieux à proposer ?

  4. #4
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Points : 5 753
    Points
    5 753
    Par défaut
    Bonjour,

    Je tente ma chance :
    - il faut sans doute autoriser plusieurs occurrences de [,. ] ce qui donne
    "[0-9]{1,3}(?:(?:[,. ]?){1}[-a-zA-Zàâäéèêëïîôöùûüç]+)*"
    - ensuite, je ne vois pas d'intérêt de rendre cette liste [,. ] optionnelle avec le ? ce qui donne
    "[0-9]{1,3}(?:(?:[,. ]){1}[-a-zA-Zàâäéèêëïîôöùûüç]+)*"
    Plus j'apprends, et plus je mesure mon ignorance (philou67430)
    Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
    Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
    Si c'est utile, say

  5. #5
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    c'est overkill ce que tu fais, et tu risque surtout d'avoir de gros problèmes parce que tu n'as pas prévu tous les cas possibles. Qu'est-ce que tu fera le jour ou quelqu'un une adresse comportant un numéro dans le nom de rue

    3 rue albert 1er?

    ou le jour ou l'adresse postable aura une numéro bien complexe

    35 A/12E rue des gros buildings

    ou le jour ou l'adresse sera en allemande
    56-58 Behrenstraße

    ou le jour où la rue sera très longue
    1289 rue longue

    ou le jour où l'adresse sera belge (où l'on met le numéro APRÈS la rue)
    rue des crapauds 23

    ou le jour où l'adresse comportera des accents que tu n'a pas prévu
    10 RUE DE LA LIBERTÉ

    ou le jour ou l'adresse sera un adresse d'une grosse boite qui a son propre nom de rue et pas de numéro? (Si si, ça existe):
    Mr tartempion
    Ministere Taxes et impots
    Departement recouvrement
    Cité administrative
    6969 Grosse ville

    Et ce ne sont que des exemples. Des formats d'adresses, suivant chaque règle nationale, il en existe des tonnes.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 342
    Points : 419
    Points
    419
    Par défaut
    Citation Envoyé par benthebest Voir le message
    Re-Hello

    En fait je cherche à trouver le bon pattern qui pourra détecter ce genre d'adresses postales au sein d'une longue String:
    moi ce qui me pause problème c'est le fait de détecte une adresse dans une string

    15 choux et carottes c'est ma liste de course

    tu vas trouver une adresse "15 choux et carottes"

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 342
    Points : 419
    Points
    419
    Par défaut
    je pense que ton problème est lier au même que celui des adresse mail

    explique ce que tu doit faire je pense que tu n'est pas partie comme il faut

    si tu doit cherché des information dans un mail il faut peut être partir sur un mail avec un format prédéfinie pour l'envoyeur.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 422
    Points : 83
    Points
    83
    Par défaut
    Bonjour et merci de vos réponses

    En fait, c'est vrai que vous avez raison dans le sens où effectivement il peut y avoir plusieurs sortes de pattern d'adresse postal..

    Mais en fait, moi j'en cherche un qui serait plutôt générique car en fait, ça ne sert pas à détecter précisément mais simplement il s'agit de suggéré à l'utilisateur une adresse éventuelle (qu'il peux accepter ou refuser)

    Pour le moment, j'ai repris celui de philou qui à l'air pas mal, je l'ai juste modifié comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    "[0-9]{1,3}(?:(?:[,. ]){1}[-a-zA-Zàâäéèêëïîôöùûüç]+)+"
    Merci à vous

  9. #9
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    le plus propre reste d'avoir une case rue, une case numéro et une case boite. Après t'assemble suivant les regles du pays en question :p

  10. #10
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Points : 5 753
    Points
    5 753
    Par défaut
    Il me semble que tu devrais autorisé plusieurs caractères délimiteurs après le numéro, car en typographie, la virgule et le point sont toujours suivis d'un espace. Il faudrait donc au moins autoriser 2 caractère :

    (?:[,. ]?){1} => (?:[,. ]?){1,2}
    Plus j'apprends, et plus je mesure mon ignorance (philou67430)
    Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
    Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
    Si c'est utile, say

Discussions similaires

  1. [RegEx] Regex sur une fonction mathématique
    Par raptorman dans le forum Langage
    Réponses: 1
    Dernier message: 02/11/2007, 10h04
  2. Faire un test sur une adresse IP
    Par 01211983 dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 24/07/2007, 14h11
  3. [RegEx] Regex d'une adresse MAC
    Par Dud225 dans le forum Langage
    Réponses: 2
    Dernier message: 03/07/2007, 09h51
  4. Réponses: 8
    Dernier message: 23/06/2007, 10h38
  5. Quel langage pour envoyer un fichier sur une adresse
    Par dai.kaioh dans le forum Développement
    Réponses: 2
    Dernier message: 02/04/2004, 16h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo