Salve, data l'espressione :
String esprss="(AB((CD)R)FA(RZS)(CS(RT)B))";
volevo scrivere un' espressione regolare che mi permettesse di individuare le sottoespressioni presenti in esprss (cioè i blocchi di parentesi che compongono una sottoespressione)
dall'espressione sopra dovrei avere:
1 ((CD)R)
2 (RZS)
3 (CS(RT)B)
spero di essermi spiegato![]()
codice:public class MacinaStringhe_2 { public static void main(String[] args) { String esprss="(AB((CD)R)FA(RZS)(CS(RT)B))"; /*non sono riuscito a scrivere il pattern corretto in quanto dovrebbe accettare lettere e parentesi che devono essere di un numero pari ,quindi in coppia di (). tipo --> (CS(RT)B) solo per le lettere farei cosi [A-B]+ .Ma per riconoscere pure le parentesi?? ps help me non ho mai usato le espr regolari...sono in difficoltà. */ Pattern pattern = Pattern.compile(" .... "); Matcher matcher = pattern.matcher(espr); while(matcher.find()) { System.out.println("Sottosequenza : "+matcher.group()); System.out.println("Sottogruppo 1 : "+matcher.group(1)); } } }


