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

Python Discussion :

Regex : comment vérifier qu'une expression contient au moins 2 caractères spéciaux ?


Sujet :

Python

  1. #1
    Membre régulier
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2011
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2011
    Messages : 257
    Points : 76
    Points
    76
    Par défaut Regex : comment vérifier qu'une expression contient au moins 2 caractères spéciaux ?
    Bonjour,

    je développe un projet Django et je souhaite écrire une expression régulière qui permette de vérifier qu'une expression contient au moins 2 caractères spéciaux
    mais je ne trouve pas la solution

    ce que j'ai pour le moment :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    re.search(r'[&#!/?$£@&[§-]','mon_expression')
    mais çà match quelque soit le nombre de caractères spéciaux y compris un (testé sur https://pythex.org/)
    de plus, je mets une liste de caractères spéciaux mais il n'y sont pas tous... y-a-t-il un moyen de préciser 'caractère spécial' de façon générique ?

    d'avance merci pour votre aide,

  2. #2
    Membre régulier Avatar de AvySamaj
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 118
    Points : 75
    Points
    75
    Par défaut
    la fonction findall du module re serait sans doute plus approprié.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    >>> re.findall(r'[&#!/?$£@&[§-]','&§')
    ['&', '§']
    Vous n'avez plus qu'à instancier la sortie et en mesurer la taille avec len() et faire votre algo selon la condition remplie par cette taille.

    Quant à savoir s'il y a des possibilités de "de préciser 'caractère spécial' de façon générique", pas franchement, si ce n'est que vous pouvez définir ce qu'est un caractère spécial pour vous en précisant un intervalle de deux points d'encodage différents. C'est ce que font certains dans leurs codes notamment lorsqu'ils veulent détecter les lettres avec accents.

  3. #3
    Membre confirmé

    Homme Profil pro
    Bidouilleur
    Inscrit en
    Avril 2016
    Messages
    721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Avril 2016
    Messages : 721
    Points : 503
    Points
    503
    Billets dans le blog
    1
    Par défaut
    Salut.

    Citation Envoyé par OZ1977 Voir le message
    je développe un projet Django et je souhaite écrire une expression régulière qui permette de vérifier qu'une expression contient au moins 2 caractères spéciaux
    J'espère tout de même que ton expression ne va pas servir à la validation d'un mot de passe, car cela serait une très mauvaise pratique d'imposer une liste blanche de certains caractères à utiliser dans un mot de passe, d'autant que les caractères spéciaux, il y en a des milliers.
    Le temps ronge l'amour comme l'acide.

  4. #4
    Membre régulier
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2011
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2011
    Messages : 257
    Points : 76
    Points
    76
    Par défaut
    merci à vous 2
    findall fonctionne
    après de savoir si c'est une bonne pratique, je suis dev junior et pour le moment on me demande de l'implémenter donc j'implemente

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

Discussions similaires

  1. [XL-2010] Macro, comment vérifier si une série d'un graphique contient des valeurs?
    Par jrc11 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 05/08/2014, 14h18
  2. [Débutant] Comment vérifier si une string contient des nombres
    Par java250r dans le forum VB.NET
    Réponses: 3
    Dernier message: 19/03/2012, 10h46
  3. Comment vérifier qu'une table ne contient aucun enregistrement ?
    Par makaphrodite dans le forum Bases de données
    Réponses: 5
    Dernier message: 13/10/2008, 14h50
  4. Réponses: 1
    Dernier message: 30/05/2008, 17h00
  5. comment vérifier qu'une table esclave vérifie une condition?
    Par loikiloik dans le forum Langage SQL
    Réponses: 2
    Dernier message: 20/04/2004, 16h48

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