Sto utilizzando, da poco, le espressioni regolari in Java, ho fatto questo codice di prova:
	
	
	
		
E fin qui tutto bene, visto che ho detto all'espressione regolare di cercarmi qualsiasi carattere ripetuto più volte, quindi mi stampa tutta la stringa.
Il problema e quando vorrei cercare ti prendere il contenuto della stringa all'esterno e all'interno dei caratteri [ e ], modificando il mio codice cosi:
	
	
	
		
Eseguendo questo codice non mi viene restituito in output, io credo che il problema sia il carattere [, che lo considera come un carattere speciale, se è cosi come potrei risolvere?
P.S.: Ah.. vorrei chiedervi anche una piccola domanda. E' possibile recuperare il valore di mtc.group(1) e mtc.group(2) senza utilizzare il ciclo while?
				
			
		Codice:
	
	import java.util.regex.*;
public class regexp {
	public static void main(String[] args)
	{
		String str = "prova carattere speciale [cosa vedi?]";
		
		Pattern ptn = Pattern.compile("(.*)");
		Matcher mtc = ptn.matcher(str);
		
		while (mtc.find())
		{
			System.out.println(mtc.group(1));
		}
	}
}
	E fin qui tutto bene, visto che ho detto all'espressione regolare di cercarmi qualsiasi carattere ripetuto più volte, quindi mi stampa tutta la stringa.
Il problema e quando vorrei cercare ti prendere il contenuto della stringa all'esterno e all'interno dei caratteri [ e ], modificando il mio codice cosi:
		Codice:
	
	public class regexp {
	public static void main(String[] args)
	{
		String str = "prova carattere speciale [cosa vedi?]";
		
		Pattern ptn = Pattern.compile("(.*)[(.*)]");
		Matcher mtc = ptn.matcher(str);
		
		while (mtc.find())
		{
			System.out.println(mtc.group(1));
                        System.out.println(mtc.group(2));
		}
	}
}
	Eseguendo questo codice non mi viene restituito in output, io credo che il problema sia il carattere [, che lo considera come un carattere speciale, se è cosi come potrei risolvere?
P.S.: Ah.. vorrei chiedervi anche una piccola domanda. E' possibile recuperare il valore di mtc.group(1) e mtc.group(2) senza utilizzare il ciclo while?