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

Collection et Stream Java Discussion :

Expression régulière pour patent number


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de rgomes
    Homme Profil pro
    IT Developer JAVA Senior
    Inscrit en
    Juin 2004
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : IT Developer JAVA Senior
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2004
    Messages : 128
    Par défaut [Résolu]Expression régulière pour patent number
    Hello,

    Je recherche une expression régulière pour trouver les patents (numéro de brevets) dans du texte libre sachant qu'un patent number à le format suivant :

    LLnnnnn
    LLnnnnnL
    LLnnnnnLn

    où L est une lettre [A-Z] et n un entier entre 0 et 9.

    exemple :
    "La recherche brevet a permis d'isoler fr14521 fr45877A 999 AU50000B1." donnerait :
    fr14521
    fr45877A
    AU50000B1

    Merci pour toute aide !

    Un début de piste :
    ([A-Z]{2})([0-9]{1,})([A-Z][0-9]|[A-Z]+[^[A-Z]{2}])?

  2. #2
    Membre Expert
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 052
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 052
    Par défaut
    Salut,

    Ne serait-ce pas quelque chose comme ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [a-zA-Z]{2}[0-9]{5}[a-zA-Z]{0,1}[0-9]{0,1}

  3. #3
    Membre confirmé Avatar de rgomes
    Homme Profil pro
    IT Developer JAVA Senior
    Inscrit en
    Juin 2004
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : IT Developer JAVA Senior
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2004
    Messages : 128
    Par défaut
    Hélas non, car
    fr7227965 au2006230693
    me donne :
    FR7227965A uniquement

    Comment mettre la condition que si 2lettres+au moins 1 nombre alors ne pas le prendre, c'est un nouveau "patent number" ?

    Merci

  4. #4
    Membre Expert
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 052
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 052
    Par défaut
    Et bien du donne les formats suivant :

    LLnnnnn
    LLnnnnnL
    LLnnnnnLn

    J'ai compris :

    2 lettres + 5 chiffres + 0 ou 1 lettres + 0 ou 1 chiffre

    Ce qui visiblement n'ai pas le cas, puisque tu dit que au2006230693 est un patent. Qu'elle est la règle précise qui définit un patent ?

    Serait-ce :
    2 lettres + n chiffres + 0 ou 1 lettre + 0 ou 1 chiffre

  5. #5
    Membre confirmé Avatar de rgomes
    Homme Profil pro
    IT Developer JAVA Senior
    Inscrit en
    Juin 2004
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : IT Developer JAVA Senior
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2004
    Messages : 128
    Par défaut
    Primo, merci pour ton aide !
    Alors :

    FR123 est valide
    FR123A est valide
    FR132A1 est valide

    Voila les 3 cas possibles, par contre si tu as FR123FR456 il ne faut pas avoir juste FR123F, car apres ensuite il ne reste donc que R456 et le match failed.

    Il faut la condition supplémentaire : "si apres la serie de chiffre on a une lettre, on ne la prend que si elle n 'est pas suivie par une autre lettre et au moins un chiffre", car sinon c 'est le début d'un nouveau pn...

  6. #6
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    Ce que visiwi veut dire c'est qu'il faudrait connaitre le format exact même en langage parlé !

    Ceci afin de déterminer le pattern de tes patents.


    Ce n'est qu'ensuite que l'on pourra utiliser les negative lookahead/lookbehind pour interdire de découper les mots...

    a++

  7. #7
    Membre Expert
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 052
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 052
    Par défaut
    C'est surement très clair pour toi qui connait ces "patents", mais pour moi ça ne l'est pas. Je ne connais pas les "patents".

    Cela correspond donc au schéma suivant :
    2 lettres + n chiffres + 0 ou 1 lettre + 0 ou 1 chiffre
    Non ?

    Plutôt que de donner des exemples, essai de décrire ce qui caractérise une chaine de caractère de "patent".

    Ensuite quand tu dit :
    Voila les 3 cas possibles, par contre si tu as FR123FR456 il ne faut pas avoir juste FR123F, car apres ensuite il ne reste donc que R456 et le match failed.
    C'est que tu peux avoir 2 patents qui se suivent et qui ne sont pas séparés par un espace ?
    FR123
    FR456
    qui peuvent se trouver dans ton texte sous la forme "FR123FR456" ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [RegEx] Expression régulière pour supprimer des doublons
    Par cbroissa dans le forum Langage
    Réponses: 5
    Dernier message: 20/05/2017, 01h59
  2. [RegEx] Expression régulière pour trouver des mots
    Par cbroissa dans le forum Langage
    Réponses: 7
    Dernier message: 26/05/2006, 23h39
  3. [RegEx] Simple expression régulière pour ereg_replace
    Par aurapp dans le forum Langage
    Réponses: 6
    Dernier message: 12/03/2006, 12h34
  4. Expression régulière pour récupérer le nom d'un fichier
    Par calimero2611 dans le forum Langage
    Réponses: 5
    Dernier message: 24/02/2006, 19h00
  5. Expression Régulière pour float
    Par zebiloute dans le forum Langage
    Réponses: 5
    Dernier message: 26/09/2005, 14h03

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