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

SQL Oracle Discussion :

Expression régulière pour reconnaître une adresse mail


Sujet :

SQL Oracle

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    mars 2007
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mars 2007
    Messages : 537
    Points : 124
    Points
    124
    Par défaut Expression régulière pour reconnaître une adresse mail
    Bonjour,

    Je souhaiterais utiliser une expression régulière sur une requête oracle sql , comment faire?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    select * from tableA where id in (select ut.uti_id from user ut
    where
    not regexp_like(ut.uti_t_login, '([0-9a-zA-Z][\-._0-9a-zA-Z]{0,255}@ [0-9a-zA-Z][\-._0-9a-zA-Z]{1,255}.[a-zA-Z]{2,63})$')
    )
    ;

    Merci.

  2. #2
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    avril 2013
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : avril 2013
    Messages : 1 940
    Points : 2 424
    Points
    2 424
    Par défaut
    C'est vachement clair ton besoin...
    Si personne ne te réponds ce n'est pas par hasard!

    Que veux-tu faire?
    A quoi correspond l'expression régulière de ton message?
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    mars 2007
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mars 2007
    Messages : 537
    Points : 124
    Points
    124
    Par défaut
    C'est une adresse e-mail qui peut comportait une extension (63 caractères et au minimum 2 après un .), peut comportait un . - _ dans l'adresse.

  4. #4
    Expert confirmé
    Profil pro
    Inscrit en
    août 2008
    Messages
    2 908
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : août 2008
    Messages : 2 908
    Points : 5 722
    Points
    5 722
    Par défaut
    C'est toujours pas clair, merci de proposer un jeu de test et de bien expliquer le besoin.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    mars 2007
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mars 2007
    Messages : 537
    Points : 124
    Points
    124
    Par défaut
    Citation Envoyé par skuatamad Voir le message
    C'est toujours pas clair, merci de proposer un jeu de test et de bien expliquer le besoin.
    Exemples:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    adm-develop@yahoo.franceitalie
    adm_develop@yahoo.fr
    123-develop@yahoo.fr
    123@yahoo.france.fr
    adm.123@yahoo.fr
    corentin@yahoo.monde-france.fr

  6. #6
    Expert confirmé
    Homme Profil pro
    Inscrit en
    septembre 2006
    Messages
    2 810
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : septembre 2006
    Messages : 2 810
    Points : 4 112
    Points
    4 112
    Par défaut
    une version simple pour les cas usuels...

    http://www.dba-oracle.com/t_email_va...xpressions.htm

    plus complet :

    https://www.emailregex.com

  7. #7
    Membre expérimenté
    Homme Profil pro
    Développeur Oracle
    Inscrit en
    décembre 2019
    Messages
    968
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : décembre 2019
    Messages : 968
    Points : 1 556
    Points
    1 556
    Par défaut
    Bonjour,

    Voici celle que j'utilise:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    regexp_like(email_adress, '^[[:alnum:]._%+-]+@[[:alnum:].-]+\.[[:alpha:]]{2,4}$')

  8. #8
    Expert confirmé
    Homme Profil pro
    Inscrit en
    septembre 2006
    Messages
    2 810
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : septembre 2006
    Messages : 2 810
    Points : 4 112
    Points
    4 112
    Par défaut
    Citation Envoyé par vanagreg Voir le message
    Bonjour,

    Voici celle que j'utilise:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    regexp_like(email_adress, '^[[:alnum:]._%+-]+@[[:alnum:].-]+\.[[:alpha:]]{2,4}$')

    pas bon : ne supporte pas les domaines à plus de 2 composants : "...@sub.domain.com"
    mais facile à corriger :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    '^[[:alnum:]._%+-]+@([[:alnum:].-]+\.)+[[:alpha:]]{2,4}$'

  9. #9
    Membre expérimenté
    Homme Profil pro
    Développeur Oracle
    Inscrit en
    décembre 2019
    Messages
    968
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : décembre 2019
    Messages : 968
    Points : 1 556
    Points
    1 556
    Par défaut
    Oui facile à adapter. J'avais dû récupérer ça à l'époque sur un site d'expression régulière.

  10. #10
    Expert confirmé
    Homme Profil pro
    Inscrit en
    septembre 2006
    Messages
    2 810
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : septembre 2006
    Messages : 2 810
    Points : 4 112
    Points
    4 112
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    q'£([[:alnum:]!#$%&'*+/=?^_`{|}~-]+(\.[[:alnum:]!#$%&'*+/=?^_`{|}~-]+)*|"([\x01-\x08\x0b\x0c\x0e\x0f\x10-\x1f\x21\x23-\x5b\x5d\x5e\x5f\x60-\x7f]|\\[\x01-\x09\x0b\x0c\x0e\x0f\x10-\x7f])*")@(([[:alnum:]]([[:alnum:]-]*[[:alnum:]])?\.)+[[:alnum:]]([[:alnum:]-]*[[:alnum:]])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[[:alnum:]-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e\x0f\x10-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e\x0f\x10-\x7f])+)\])£'
    pour le moment la plus proche du standard et qui "passe" sous ORACLE
    (la version de https://www.emailregex.com fait des "invalid character range" et contient des "positive look ahead" non supportés)

Discussions similaires

  1. Expression régulière pour tester une adresse email
    Par Pascale38 dans le forum C++Builder
    Réponses: 1
    Dernier message: 06/02/2014, 13h56
  2. expression régulière pour reconnaitre une inclusion de fichier en c++
    Par cdm1024 dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 27/11/2007, 13h49
  3. Expression régulière pour récupérer une chaîne.
    Par z980x dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 24/06/2007, 15h01
  4. [RegEx] expression regulière pour contrôle d'adresse mail
    Par zit_zit dans le forum Langage
    Réponses: 4
    Dernier message: 02/04/2007, 12h03
  5. Réponses: 13
    Dernier message: 03/06/2005, 11h26

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