Salut,
Tu peux utiliser les groupes dans ton pattern afin de pouvoir récupérer facilement les deux séquences de ton pattern :
	
	Pattern ptrn = Pattern.compile("([a-z]+/NN) ([a-z]+/NN)");
 Grâce à cela tu peux utiliser les méthodes group()/start()/end() pour récupérer la chaine concerné et l'index de début/fin.
Ensuite il suffit d'utiliser forcer l'index de début de la recherche avec find(int), en le positionnant au début du second groupe lorsqu'on trouve un élément :
	
	1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
   | 	String texte = "test/NN process/NN faults/NN";
 
	Pattern ptrn = Pattern.compile("([a-z]+/NN) ([a-z]+/NN)");
	Matcher mtch = ptrn.matcher(texte);
 
	// On commence la recherche au tout début de la chaine :
	int start = 0;
	while(mtch.find(start)){
		// group() renvoi toute la chaine trouvé
		// group(1) renvoit le premier groupe
		// group(2) renvoit le second groupe
		System.out.println("match = " + mtch.group());
 
		// On récupère l'index de début du second groupe
		// pour continuer la recherche à partir de là :
		start = mtch.start(2);
	} | 
 a++
						
					
Partager