Expressions regulars

Les expressions regulars ens permeten trobar patrons dins de cadenes de text. Podem utilitzar-les per validar dades, fer cerques i substituir-les. Estan implantades a molts gestors de bases de dades.

A Java, tenim un mètode de Pattern que permet comprovar si una cadena compleix un patró, retornant true en cas positiu. L'ús més general es fa utilitzant les classes Pattern i Matcher.

// regex: 0 a N lletres a i una b boolean b = Pattern.matches("a*b", "aaaaab"); // alternativament: Pattern p = Pattern.compile("a*b"); Matcher m = p.matcher("aaaaab"); boolean b = m.matches();

El funcionament de les expressions regulars a Java s'explica a la documentació de la classe Pattern.

Una de les funcionalitats més interessants de les expressions regulars és la captura de grups. A la secció d'una expressió podem afegir parèntesi, i això voldrà dir que volem obtenir aquell grup de forma individual.

Pattern p = Pattern.compile("(a*)(b*)c"); Matcher m = p.matcher("aaabbc"); boolean b = m.matches(); // true String group1 = m.group(1); // aaa String group2 = m.group(2); // bb