• STATISTIQUES
  • Il y a eu un total de 0 membres et 49488 visiteurs sur le site dans les dernières 24h pour un total de 49 488 personnes!
    Membres: 2 605
    Discussions: 3 579
    Messages: 32 816
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [EN] HackQuest
    Logic: 12, JavaScript: 14, Applet: 6, CrackIt: 13, Crypto: 11, Internet: 3, Exploit: 7, Stegano: 12, Flash: 1, Programmi...
    Challenges
    [EN] phrack
    Lot's of stuff !
    Hacking
    [FR] Infomirmo
    Challenge présenté sous la forme de 6 niveaux de difficultés diverses et variées avec chacun plusieurs chall...
    Challenges
    [FR] Microcontest
    Cryptographie: 7, Mathématiques: 8, Image Son Vidéo: 5, Intelligence artificielle: 3, Réseau: 2, Divers: 7, Phy...
    Challenges
    [EN] Rosecode
    Programming: 36, Math: 29, Probability: 5, Sequence: 7, Crypto: 4, Brainf**k: 13, TimeRace: 4, Hack: 9
    Challenges
    [EN] Bright Shadows
    JavaScript: 13, Exploit: 27, Crypto: 69, CrackIt: 52, Stegano: 67, Flash: 3, Programming: 16, Java-Applet: 10, Logic: 20...
    Challenges
    [FR] Asp-php
    Tutoriaux sur ASP, PHP, ASP.net, XML, SQL, Javascript, HTML, VML - Scripts et ressources pour webmasters - Forums d&#...
    Programmation

  • DONATION
  • Si vous avez trouvé ce site internet utile, nous vous invitons à nous faire un don du montant de votre choix via Paypal. Ce don servira à financer notre hébergement.

    MERCI!




Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
validation d'une saisie utilisateur avec wildcard autorisé
20-01-2015, 10h00
Message : #3
gruik Hors ligne
gouteur de savon
*



Messages : 757
Sujets : 44
Points: 482
Inscription : Oct 2012
RE: validation d'une saisie utilisateur avec wildcard autorisé
oui en fait je pense qu'il faut découper en 3 cas distincts
- la chaine contient un wildcard au debut
- la chaine ne contient pas de wildcard
- la chaine contient un wildcard à la fin

chaque cas séparé effectivement par un |, ça fait un truc un peu à rallonge mais bon

la chaine contient un wildcard au début : ^\*(?:\.[0-9]{1,3}){0,3}$
la chaine ne contient pas de wildcard : ^[0-9]{1,3}(?:\.[0-9]{1,3}){3}$
la chaine contient un wildcard à la fin : ^(?:[0-9]{1,3}\.){0,3}\*$

donc la regex complète serait un truc du genre :
^\*(?:\.[0-9]{1,3}){0,3}$|^[0-9]{1,3}(?:\.[0-9]{1,3}){3}$|^(?:[0-9]{1,3}\.){0,3}\*$

la vérification :
Code BASH :
$ cat vrai
1.1.1.1
1.1.1.*
712.999.*
*
*.5.18.3
*.817
$ diff -s vrai <(grep -P '^\*(?:\.[0-9]{1,3}){0,3}$|^[0-9]{1,3}(?:\.[0-9]{1,3}){3}$|^(?:[0-9]{1,3}\.){0,3}\*$' vrai)
Les fichiers vrai et /dev/fd/63 sont identiques
$ cat faux
*.*
5.*.*.*
*.940.*
**
1.2.3.4.5
1.2.*.4
1.2.3.
1.2
$ grep -P '^\*(?:\.[0-9]{1,3}){0,3}$|^[0-9]{1,3}(?:\.[0-9]{1,3}){3}$|^(?:[0-9]{1,3}\.){0,3}\*$' faux || echo "no match"
no match
Avant donc que d'écrire, apprenez à penser.
Selon que notre idée est plus ou moins obscure, l'expression la suit, ou moins nette, ou plus pure.
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément.
(Nicolas Boileau, L'Art poétique)
+1 (2) -1 (1) Répondre


Messages dans ce sujet
RE: validation d'une saisie utilisateur avec wildcard autorisé - par gruik - 20-01-2015, 10h00

Atteindre :


Utilisateur(s) parcourant ce sujet : 2 visiteur(s)
N-PN
Accueil | Challenges | Tutoriels | Téléchargements | Forum | Retourner en haut