|match

  • Apparu en : SPIP 1.4

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

Notes

[1no dubteu en consultar la pàgina de la Wikipedia dedicada: Expression_rationnelle

Autor merce Publié le : Mis à jour : 26/10/12

Traductions : català, English, Español, français, Nederlands