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