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; } } }

senza questo (CSD)
Rispondi quotando