import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(?<!\\d)(\\d)(?!\\d)";
final String string = "1. 1-1 Prise en main de blender\n"
+ "2. 2-1 Présentation de la sculpture\n"
+ "3. 2-2 Sculpter le visage\n"
+ "4. 2-3 Retopologie : Créer la structure du visage\n"
+ "5. 2-4 Retopologie : Placer les vertices de face\n"
+ "6. 2-5 Retopologie : Placer les vertices de profil\n"
+ "7. 2-6 Finalisation de la tête\n"
+ "8. 2-7 Modéliser et placer les yeux\n"
+ "9. 2-8 Modéliser les cheveux\n"
+ "10. 2-9 Modéliser les cils et sourcils\n"
+ "11. 2-10 Modéliser l'intérieur de la bouche\n"
+ "12. 3-1 Préparer la modélisation du corps\n"
+ "13. 3-2 Modéliser le corps\n"
+ "14. 3-3 Modéliser les pieds\n"
+ "15. 3-4 Modéliser les mains\n"
+ "16. 3-5 Modéliser les doigts partie 1\n"
+ "17. 3-6 Modéliser les doigts partie 2\n"
+ "18. 3-7 Ajuster et préciser les bras\n"
+ "19. 3-8 Ajuster le corps pour préparer le raccord à la tête\n"
+ "20. 3-9 Raccorder le corps à la tête\n"
+ "21. 3-10 Ajuster la tête à l'aide du \"Modifier\" lattice\n"
+ "22. 4-1 Créer le pantalon\n"
+ "23. 4-2 Créer le T-shirt\n"
+ "24. 4-3 Créer les bottes\n"
+ "25. 4-4 Donner de l'épaisseur aux habits\n"
+ "26. 5-1 Texturer le pantalon\n"
+ "27. 5-2 Texturer le T-shirt\n"
+ "28. 5-3 Texturer les bottes\n"
+ "29. 5-4 Texturer les cheveux\n"
+ "30. 5-5 Faire un dégradé sur les cheveux\n"
+ "31. 5-6 Texturer les cils/sourcils\n"
+ "32. 5-7 Texturer les yeux\n"
+ "33. 5-8 Préparer le personnage au texturing\n"
+ "34. 5-9 Dépliage UV du personnage\n"
+ "35. 5-10 Préparer les images pour le texture paint\n"
+ "36. 5-11 Peindre le corps\n"
+ "37. 5-12 Peindre le visage\n"
+ "38. 5-13 Peindre les mains\n"
+ "39. 5-14 Peindre l'intérieur de la bouche et les lèvres\n"
+ "40. 5-15 Reliefs et spécularité du visage\n"
+ "41. 6-1 Parties délavées du pantalon\n"
+ "42. 6-2 Ajouter un Fresnel aux textures\n"
+ "43. 7-1 Créer l'armature\n"
+ "44. 7-2 Appliquer la symétrie du squelette\n"
+ "45. 7-3 Créer un contrôleur \"Master\"\n"
+ "46. 7-4 Créer une IK pour les jambes\n"
+ "47. 7-5 Créer une IK pour les bras\n"
+ "48. 7-6 Créer un contrôleur pour le regard\n"
+ "49. 7-7 Créer un contrôleur pour plier les doigts\n"
+ "50. 7-8 Appliquer les contrôleurs en symétrie\n"
+ "51. 7-9 Connecter l'armature au personnage\n"
+ "52. 7-10 Customiser les contrôleurs genoux et coudes\n"
+ "53. 7-11 Customiser le contrôleur \"Master\"\n"
+ "54. 7-12 Customiser les contrôleurs IK\n"
+ "55. 7-13 Customiser les contrôleurs de la colonne vertébrale\n"
+ "56. 7-14 Customiser les contrôleurs épaules, cou, tête\n"
+ "57. 7-15 Appliquer des couleurs aux groupes de \"bones\"\n"
+ "58. 7-16 Customiser les contrôleurs des doigts\n"
+ "59. 7-17 Faire suivre le regard\n"
+ "60. 7-18 Automatiser la fermeture des doigts\n"
+ "61. 7-19 Créer des drivers pour plier les doigts\n"
+ "62. 7-20 Corrections de la fermeture du poing\n"
+ "63. 7-21 Réduire la résolution du pantalon en conservant les détails dans la texture\n"
+ "64. 7-22 Réduire la résolution du T-shirt en conservant les détails dans la texture\n"
+ "65. 7-23 Préparer le personnage pour éviter les éventuels défauts liés aux habits\n"
+ "66. 8-1 Créer les expressions faciales\n"
+ "67. 8-2 Fermer les yeux\n"
+ "68. 8-3 Créer un driver pour la fermeture des yeux\n"
+ "69. 8-4 Finaliser l'expression de \"colère\" et lui créer un driver\n"
+ "70. 8-5 Faire briller les yeux\n"
+ "71. 9-1 Connecter les habits à l'armature et peindre les influences des os\n"
+ "72. 9-2 Créer le \"Kameha\"\n"
+ "73. 9-3 Placer la première pose du personnage\n"
+ "74. 9-4 Créer le mouvement de caméra du premier plan de notre animation\n"
+ "75. 9-5 Affiner les réglages et faire sourire le personnage\n"
+ "76. 9-6 Animer le mouvement du personnage\n"
+ "77. 9-7 Correction bug possible de texture des yeux\n"
+ "78. 9-8 Animer le \"Kameha\"\n"
+ "79. 9-9 Placer et animer la 2ème caméra\n"
+ "80. 9-10 Créer l'effet tremblement de la caméra\n"
+ "81. 9-11 Créer le mouvement des cheveux\n"
+ "82. 10-1 Créer le fond et les lumières\n"
+ "83. 10-2 Texturer le fond et régler la profondeur de champs des caméras\n"
+ "84. 10-3 Réglages de rendu\n"
+ "85. 10-4 Point sur l'export et explications lumières volumétriques\n"
+ "79. 9-9 Placer et animer[xnmjklxx]la 2ème caméra\n"
+ "80. 9-10 Créer l'effet tremblement de la caméra\n"
+ "81. 9-11 Créer le mouvement des cheveux\n"
+ "82. 10-1 Créer le[xwerrxxxxx]fond et les lumières\n"
+ "83. 10-2[xx]Texturer le fond et régler la profondeur de champs des caméras\n"
+ "84. 10-3 Réglages de rendu\n"
+ "85. 10-4 Point[xxxxtzzxxx]sur l'export et explications ";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
final Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html