Faire correspondre les adresses IP à l'aide d'expressions régulières en Java

Aperçu

Puisqu'il était nécessaire d'ajouter une fonction de validation pour l'adresse IP et les paramètres réseau en utilisant java, je l'ai implémentée en utilisant des expressions régulières. C'est le mémorandum.

Comment utiliser des expressions régulières en Java

private boolean validateHoge(string target) {
    Pattern pattern = Pattern.compile("[Écrivez une expression régulière ici]");
    final Matcher matcher = pattern.matcher(target);

    return matcher.matches();
}

Vous pouvez maintenant utiliser des expressions régulières en java. matches () vérifie si la chaîne entière correspond, donc utilisez find () pour vérifier si une partie de la chaîne correspond au modèle.

Expression canonique d'adresse IP

// 0.0.0.0 ~ 255.255.255.Jusqu'à 255
Pattern pattern = Pattern.compile("^(([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])[.]){3}([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$");

C'est simple, mais j'ai essayé de l'exprimer comme ça.

Expressions régulières que j'ai écrites entre-temps

// 1 ~Jusqu'à 32
Pattern pattern = Pattern.compile("^([1-9]|[1-2][0-9]|3[0-1](.[0-9]+)?)|32$");

(J'ai réalisé qu'il serait plus facile de le changer en Integer après l'écriture et de le limiter)

// 0~9, a~z, A~z, "."
Pattern pattern = Pattern.compile("[0-9a-zA-z.]+?");

Un site où vous pouvez tester les expressions régulières Java sur votre navigateur

https://regex-testdrive.com/ja/dotest

Ce site était très pratique. Il est utile lors de la création d'une expression régulière car il montre le résultat pour chaque méthode avec matches () find ().

Recommended Posts

Faire correspondre les adresses IP à l'aide d'expressions régulières en Java
Expressions régulières qui correspondent à 99% des adresses e-mail
À propos du phénomène que StackOverflowError se produit lors du traitement à l'aide d'expressions régulières Java
Remarques sur l'utilisation des expressions régulières en Java
Essayez d'utiliser RocksDB avec Java
[Java] Résumé des expressions régulières
À propos des expressions régulières dans Ruby
Rails: capturez les expressions régulières dans les e-mails!
Chiffrer à l'aide du chiffrement RSA en Java
Analyser les adresses japonaises avec des expressions régulières
Implémentation de la validation à l'aide d'expressions régulières
Connexion HTTPS utilisant tls1.2 dans Java 6
J'ai essayé d'utiliser JWT en Java
Expressions régulières
J'ai essayé d'utiliser l'API Elasticsearch en Java
Nommer un groupe d'expressions régulières (Java)
Essayez d'utiliser l'API Stream en Java
Mapper sans utiliser de tableau en java
ERRORCODE = -4471 se produit dans une application Java qui utilise Db2.
Essayez d'utiliser l'API au format JSON en Java
Lire Felica en utilisant RC-S380 (PaSoRi) en Java
Facile à parcourir avec les expressions régulières Java
ChatWork4j pour l'utilisation de l'API ChatWork en Java
[Java] Création d'API à l'aide de Jerjey (Jax-rs) avec eclipse
Envoyer des e-mails à l'aide d'Amazon SES SMTP en Java
Envoyer des notifications push à l'aide de Notification Hubs en Java
Essayez d'utiliser Sourcetrail (version win) avec du code Java
Essayez d'utiliser l'API Cloud Vision de GCP en Java
Essayez d'utiliser Sourcetrail (version macOS) avec du code Java
Afficher "Hello World" dans le navigateur à l'aide de Java
Afficher "Hello World" dans le navigateur à l'aide de Java
Essayez d'utiliser l'analyse syntaxique de l'API COTOHA en Java
NLP4J [001b] Analyse morphologique en Java (utilisant kuromoji)
À propos de l'expression régulière utilisée dans la méthode ruby sub
Partition en Java
Changements dans Java 11
Janken à Java
Taux circonférentiel à Java
FizzBuzz en Java
Convertir JSON et YAML en Java (en utilisant Jackson et SnakeYAML)
[Java] Trier la liste à l'aide de flux et d'expressions lambda
Comment convertir A en A et A en A en utilisant le produit logique et la somme en Java
J'ai essayé d'utiliser l'instruction Extended for en Java
Essayez le hooking global en Java à l'aide de la bibliothèque JNativeHook
Différences de code lors de l'utilisation du système de longueur en Java