[JAVA] Expression régulière pour le mot de passe

Comment valider les mots de passe à l'aide d'expressions canoniques! Il m'a fallu une journée entière pour comprendre ça Pour référence de personnes similaires. .. ..

Spécifications requises

^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!-/:-@[-`{-~])[!-~]{8,48}$

Exemple de code Java

RegexPassword.java


package sample;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexPassword {
	public static void main(String[] args) {
		Pattern p = Pattern.compile("^$|^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!-/:-@\\[-`{-~])[!-~]*");
		Matcher m = p.matcher("aA1!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~");
		Boolean result = m.matches();

		System.out.println("result:" + result);
	}
}

référence

Si vous connaissez le principe de base des expressions régulières Si vous connaissez le principe de base des expressions régulières 2

Facile à lire et à regarder en arrière

Table de codes de caractères ASCII facile à lire

Pour ceux qui ne comprennent pas la nécessité de . * Of (? =. * [A-z])

Pour utiliser des expressions régulières en Java

Notes diverses

supposition

Langue: Java8

Sujet principal

À propos des expressions canoniques pour les mots de passe D'abord pour comprendre les perspectives positives J'ai écrit et exécuté le code suivant pour vérifier l'opération J'étais inquiet du faux quand il devrait retourner vrai.


package sample;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexWord {
	public static void main(String[] args) {
		Pattern p = Pattern.compile("^(?=.*[a-z])");
		Matcher m = p.matcher("abc");
		Boolean result = m.matches();

		System.out.println("result:" + result);
	}
}

En conclusion, j'ai dû réécrire la ligne Pattern p = ~ comme suit: Pattern p = Pattern.compile("^(?=.*[a-z]).*");

Recommended Posts

Expression régulière pour le mot de passe
[Ruby] Expression régulière pour le paramètre de stratégie de mot de passe sécurisé
Bases des expressions régulières
Expression régulière JS
Expression régulière Ruby
^, $ dans l'expression régulière Rails
résumé des expressions régulières java
Masquez le mot de passe de l'ID utilisateur / mot de passe délimité par une expression canonique
Expression régulière de jugement pleine largeur / demi-largeur
Une petite histoire d'expression régulière Partie 1
Une petite histoire d'expressions régulières Partie 2
Appliquer le processus de correspondance d'expressions régulières avec JSON Sassert