Salve a tutti, con l 'espressione regolare che ho scritto sotto mi faccio stampare i blocchi di parentesi che hanno solo lettere dentro es (AB)
C'è un modo per modificare l'espr. per far stampare oltre ai blocchi di parentesi semplici: (AB) che hanno solo lettere,i blocchi massimali? cioè quelli che sono costituiti da +espressioni all'interno ??
Forse si capisce meglio con l'esempio

Cioè dell'espressione sotto //* dovrei avere:

1) (AO) ok
2) (B) ok
3) (Z(CSD)) <-- mi dovrebbe stampare questo. senza questo (CSD)
Sarebbe Possibile? premessa non ho mai trattato espr regolari!!


codice:
public class MacinaStringhe_2 {
	
	public static void main(String[] args) {
		String espr="(AO)(B)A(Z(CSD))";//*
		
		Pattern pattern = Pattern.compile("([(]([A-Z]+)+[)])");
		Matcher matcher = pattern.matcher(espr);
		String blocco="";
		String espr2="";
		
		
		 while(matcher.find()){
			  blocco=matcher.group();//calcolo
             System.out.println(blocco);
			  //	 espr2=espr.replace(blocco,"*");
     		 
		  //   espr=espr2;  
		 }		

	}

}