El filtre |match
utilitza una expressió racional [1] per mostrar un patró present a l’etiqueta, o res si no n’hi ha cap.
Per exemple :
recuperar la primera paraula del títol [(#TITRE|match{^\w+?})]
;
mostrar "toto" si es troba al títol: [(#TITRE|match{toto})]
És possible passar 3 arguments a aquest filtre:
el patró (o «pattern»): ex. ^a trobar$
;
les opcions (o modificadors): ex. Uims
;
el número de parèntesi a capturar (per defecte la totalitat del patró).
Però també està permès passar només 2 arguments: el patró i el número de parèntesi de captura (ex. #BALISE|match{toto_(\d+)$, 1}
que tornarà només la o les xifres finals que estiguin precedides directament per la paraula ’toto_’).
Atenció :
Si no és possible declarar una classe de caràcters com argument del filtre: |match{[a-zA-Z]+}
produirà un error de compilació degut a la presència de claudàtors [
i ]
,
no obstant, és possible escriure expressions regulars complexes utilitzant les classes de caràcters definides prèviament:
#SET{ma_regexp, ^[[:space:]]*([0-9]+)([.)]|Â?°)[[:space:]]+}
[(#DESCRIPTIF|match{#GET{ma_regexp}, Uims, 1})]
À lire aussi : le filtre |replace