< adiGuba.developpez.com />



En ce moment sur mon blog :

[Java] Vérification partielle avec les expressions régulières

Petite astuce suite à une discussion twitter avec Guillaume Laforge concernant une fonctionnalité de l'API tierce JRegex : l'incomplete matching.
Le tout à fini dans un billet de son blog anglophone : Incomplete string regex matching, et j'en profite pour faire de même en français !

Mais d'abord qu'est-ce que l'incomplete matching ? Cela permet simplement de valider partiellement une expression régulière.
Quel intérêt ? Cela permet par exemple de vérifier une saisie en cours sans générer d'erreur (par exemple lorsque la saisie n'est pas terminé).

Par exemple si l'on souhaite faire saisir à l'utilisateur une heure au format habituelle HH:MM, on utilise une expression régulière de la forme suivante : \d\d:\d\d (soit deux blocs de deux chiffres séparés par deux-points).

Une fois la saisie terminée, on peut la vérifier très facilement via notre expression régulière et la méthode matches(). Mais cette méthode renverra une valeur négative pour toutes les saisies intermédiaires, puisqu'elles ne respectent pas le pattern.

Ainsi si je veux saisir "18:15", les chaines intermédiaires "", "1", "18", "18:" et "18:1" ne pourront pas être validées par matches() et génèreront des "faux-négatifs", empêchant toute validation à la volée...

C'est là qu'entre en jeu l'incomplete matching de JRegex. Elle propose une méthode matchesPrefix() permettant de vérifier si la chaine correspond entièrement ou partiellement à l'expression régulière, ce qui permet de ne pas générer de faux-négatif pour toutes les chaines intermédiaires, tout en permettant de détecter une saisie incorrecte au plus tôt...

Pourtant, il n'y a pas besoin de passer par une librairie externe pour faire cela, puisque c'est intégré dans l'API standard depuis Java 5.0...

...

  Lire le sujet... Publié le 27 Mars 2012
Derniers messages Magpie RSS

Actualités Java
Domaine Java de developpez.com :

Tutoriels Java SE :

Présentation de Java SE 7 La demoiselle s'est fait attendre ! C'est le moins que l'on puisse dire. Alors que l'on était jusque-là habitué à avoir une nouvelle version tous les deux ans en moyenne, il aura fallu quatre ans et demi pour voir débarquer Java SE 7. Mais il est vrai que son développement fut assez mouvementé, entre les ajouts/suppressions de fonctionnalités, les divers reports et surtout le rachat de Sun par Oracle...

  Lire le tutoriel... Publié le 6 mars 2012
Présentation de Java SE 6 Alors que Java 5.0 s'annonçait comme une révolution, en apportant un grand nombre de modification dans le langage, le nouvel opus de Java se présente plus serein et mature. Pas de révolution pour Java SE 6, mais de vrais évolutions afin de préparer le futur du langage et son ouverture aux autres langages.

  Lire le tutoriel... Publié le 11 décembre 2006
Les Annotations de Java 5.0 Ce tutoriel présente une des nouveautés de Java 5.0 : les Annotations (également appelées Métadonnées ou Metadata). Les Annotation permettent de "marquer" divers éléments (classe, interface, champs, méthode, paramètre, etc...). Cela permet d'automatiser certain traitement à l'exécution, et même d'interagir sur le déroulement de la compilation grâce au nouvel outil du JDK 5.0 : apt (Annotation Processing Tool)...

  Lire le tutoriel... Publié le 5 juillet 2005

Tutoriels J2EE/JSP :

La JSTL (Java Standard Tag Library) La JSTL est une implémentation de Sun qui décrit plusieurs actions basiques pour les applications web J2EE. Elle propose ainsi un ensemble de librairies de tags pour le développement de pages JSP.

  Lire le tutoriel... Publié le 9 février 2005
Les Expressions Languages (Version PDF) Présentation du nouveau langage des JSP 2.0 : les Expressions Languages (EL). L'utilisation des EL est le complément idéal des librairies de tags et de la JSTL et permettent d'accéder facilement et en toute sécurité aux différentes données d'une application web J2EE...

  Lire le tutoriel... Publié le 15 janvier 2005
Les JSP Taglibs (Version PDF) Les librairies de tags JSP (Taglibs) permettent de définir des tags JSP afin d'éffectuer des actions précises. Les pages JSP n'en deviennent que plus claires car cela limite l'utilisation de scriptlets Java...

  Lire le tutoriel... Publié le 3 janvier 2005

Autres Tutoriels :

Vous trouverez ici d'autres tutoriels auquel j'ai plus ou moins participé, ou qui sont en partie tiré de billet du blog...

Exécuter du code natif en Java : JNI VS JNA (Version PDF), par Mickael BARON JNI (Java Native Interface) et JNA (Java Native Access) sont deux technologies qui permettent d'adresser du code natif dans du code Java. Nous explorerons dans cet article une comparaison de ces deux technologies en les appliquant à un même exemple dans le but de dresser un bilan de leur utilisation.

  Lire le tutoriel... Publié le 27 février 2008
Exécuter une application externe en Java (Version PDF), par Yann D'ISANTO Il arrive fréquemment que l'on doive lancer une application externe depuis un programme Java, cependant beaucoup de personnes rencontrent des difficultés souvent dues à une méconnaissance de certains principes pourtant fondamentaux.
Voici donc un petit guide des bonnes pratiques pour exécuter une application externe en Java...

  Lire le tutoriel... Publié le 20 décembre 2006, mise à jour le 21 septembre 2007

Archive du blog ("meilleurs billets")

Série "Où va Java ?" a propos de Java 7
A propos de Java en général
Autres sujets variés



Mon profil
Pour toutes suggestions/remarques sur ces tutoriels, vous pouvez me contacter via le forum de developpez.com en m'envoyant un MP sur mon profil, ou par email à l'adresse suivante :


 
 
 
 
Partenaires

PlanetHoster
Ikoula