De nombreux moteurs réguliers soutiennent le groupe nommé. Java a présenté cette fonctionnalité dans Java7. La syntaxe est similaire à .NET (.NET permet aux groupements avec le même nom d'apparaître dans la même expression, mais Java ne le fait pas).
Nommer un groupe est facile à comprendre, cela signifie nommer le groupe. Vous trouverez ci-dessous une brève démonstration de la façon d'utiliser et des précautions en Java.
1. Définissez un groupe nommé nom dans le régulier
(? <nom> x)
Ici x est le contenu que nous voulons faire correspondre. Notez que le nom ne peut pas être répété dans ce domaine, et le nom ne peut pas commencer par un numéro!
2. Backreferences au contenu correspondant au groupe de noms
/ k <nom>
Notez que les back-références sont pour ce que le groupe correspond, pas pour l'expression du groupe.
3. En remplacement, reportez-vous à la chaîne capturée dans le nom du groupe
$ {Nom}
4. Obtenez la chaîne capturée par le groupe de noms
groupe (nom de chaîne)
Remarque: vous pouvez également utiliser des numéros de séquence pour référencer les captures nommées. Les numéros de séquence commencent à partir de 1 et 0 est le résultat complet de la correspondance du régulier.
Voici une règle simple pour obtenir l'année, le mois et le jour séparément par exemple:
String s = "2015-10-26"; Pattern p = motive.compile ("(? <Near> // d {4}) - (? <Mois> // d {2}) - (? <Day> // D {2})"); Matcher M = p.matcher (s); if (m.find ()) {System.out.println ("Année:" + M.Group ("Year")); // année System.out.println ("Mois:" + M.Group ("mois")); // Mois System.out.println ("Day:" + M.Group ("Day")); // Daily System.out.println ("Année:" + M.Group (1)); // Le premier groupe de System.out.println ("Mois:" + M.Group (2)); // Le deuxième groupe de System.out.println ("Jour:" + M.Group (3)); // le troisième groupe} System.out.println (s.replaceAll ("(? <Near> // D {4}) - (? <Mois> // d {2}) - (? <Day> // D {2})", "$ {day} - $ {Mois} - $ {année")); // modifie la date du formulaire de l'année du mois de l'année à la forme du mois-mois Résultat de sortie
Année: 2015 mois: 10day: 26 ans: 2015 MONTH: 10day: 2626-10-2015
Ce qui précède concerne cet article, j'espère qu'il sera utile à l'apprentissage de tout le monde.