Sumari
Aquest apèndix conté una breu però probablement suficient i completa introducció al món de les expressions regulars. Les documenta tal com apareixen en el KatePart, donat que no són compatibles amb les expressions regulars de Perl, ni de grep, per exemple.
Les expressions regulars us proporcionen un mètode per a descriure el possible contingut d'una cadena de text de manera que pugui ser interpretada per una petita peça de programari, i d'aquesta manera es pugui esbrinar si un text es correspon amb el cercat i, en el cas d'aplicacions avançades, es posin els mitjans per a recuperar parts del text coincident.
Per exemple: Posem que voleu cercar un text que és el començament d'un paràgraf que inclou els noms «Enric» o «Pere», seguits d'alguna forma del verb «dir».
En una cerca normal, s'hauria de començar a cercar el primer nom, «Enric» potser seguit de «di», de la manera següent: Enric di, i mentre cerca coincidències, haureu de descartar aquelles que no estiguin al començament d'un paràgraf, així com aquelles en les que la paraula que comenci per «di» que no pertanyi al verb «dir». I després tornar a repetir tot el procés amb el següent nom...
Amb les expressions regulars, aquesta tasca s'hauria de realitzar d'una sola cerca, i amb un alt grau de precisió.
Per a aconseguir-ho, les expressions regulars estableixen regles per a expressar amb detall una generalització de la cadena a cercar. El nostre exemple, el podríem expressar literalment com: "Una línia que comença per «Enric» o per «Pere» (possiblement després de fins a 4 espais en blanc o tabulacions) seguit d'un espai en blanc seguit de «di» i després «u» o «gué»", es podria expressar amb l'expressió regular següent:
^[ \t]{0,4}(Enric|Pere) di(u|gué)
L'exemple anterior mostra els quatre conceptes principals de les expressions regulars modernes, a veure:
Patrons
Declaracions
Quantificadors
Referències enrere
L'accent circumflex (^) que es troba al començament de l'expressió és una declaració, que tan sols és certa si la resta de la cadena de cerca es troba al començament d'una línia.
Les cadenes [ \t] i (Enric|Pere) di(u|gué) són patrons. El primer és una classe de caràcters que coincideix amb un espai en blanc o amb una tabulació (horitzontal); l'altre patró conté un primer subpatró que coincideix amb Enric o amb Pere, després una part de coincidència exacta di i, finalment, un altre subpatró que coincideix amb u o amb gué
La cadena {0,4} és un quantificador que diu «en qualsevol lloc des de 0 fins a 4 caràcters anteriors».
Com el programari d'expressions regulars suporta el concepte de referències enrere desa tota la part coincident de la cadena així com els subpatrons tancats entre parèntesis, proporcionant mitjans per a accedir a aquestes referències, podem posar les nostres mans tant en la cadena coincident completa (quan se cerca al text d'un editor mitjançant una expressió regular, que normalment apareix marcada com a seleccionada) com en el nom trobat, o en l'última part del verb.
Unint-ho tot, l'expressió coincidirà a on nosaltres vulguem, i tan sols allí.
Les següents seccions descriuen amb detall com construir i usar patrons, classes de caràcters, declaracions, quantificadors i referències enrere, i l'última secció presentarà una sèrie d'útils exemples.