El filtro |match utiliza una expresión regular [1] para mostrar un patrón presente en la baliza, o nada si no está presente.
Por ejemplo:
Recuperar la primera palabra del título [(#TITRE|match{^\w+?})] ;
Mostrar "toto" si está presente en el título: [(#TITRE|match{toto})]
Es posible pasar 3 argumentos a este filtro:
El patrón (o «pattern»): ej. ^a buscar$.
Las opciones (o modificadores): ej. Uims.
El número de elementos a capturar (por defecto, el patrón completo).
No obstante, también se permite pasar solamente 2 argumentos: el patrón y el número de elementos a capturar (por ejemplo,
#BALISE|match{toto_(\d+)$, 1} que sólo devolverá las cifras finales que estén directamente precedidas por la palabra ’toto_’).
Atención:
No es posible declarar una clase de caracteres como argumento del filtro: |match{[a-zA-Z]+} provocará un error de compilación debido a la presencia de los corchetes [ y ].
No obstante, es posible escribir expresiones regulares complejas utilizando clases de caracteres definidas previamente:
#SET{mi_regexp, ^[[:space:]]*([0-9]+)([.)]|Â?°)[[:space:]]+}
[(#DESCRIPTIF|match{#GET{mi_regexp}, Uims, 1})]Ver también: El filtro |replace