SPIP

[ar] [ast] [bg] [br] [ca] [co] [cpf] [cs] [da] [de] [en] [eo] [es] [eu] [fa] [fon] [fr] [gl] [id] [it] [ja] [lb] [nl] [oc] [pl] [pt] [ro] [ru] [sk] [sv] [tr] [uk] [vi] [zh] Espace de traduction

Download

|match

14 februari — aangepast op : 13 februari

Alle versies van dit artikel:


Het filter |match gebruikt een regular expression (regexp) [1] om een doel in een tekst weer te geven wanneer dit aanwezig is.

Bijvoorbeeld:
-  Selecteer het eerste woord van de titel: [(#TITRE|match{^\w+?})];
-  Geef "toto" weer als dat in de titel staat: [(#TITRE|match{toto})].

Je kunt drie argumenten aan dit filter leveren:
-  het doel (of «pattern»): bv. ^te vinden$ ;
-  de opties (of modifiers): bv. Uims ;
-  het aantal keer (standaard het hele doel).

Maar je mag ook twee argumenten doorgeven: het doel en het aantal keer (bv. #BALISE|match{toto_(\d+)$, 1} wat het cijfer of getal retourneert dat direct door het woord ’toto_’ wordt vooraf gegaan).

Tip :
Wanneer het niet mogelijk is een klasse van tekens te declareren als argument voor het filter, zal |match{[a-zA-Z]+} een compilatiefout genereren door de aanwezigheid van de rechte haakjes [ en ],
Toch kun je complexe regexp schrijven door gebruik te maken van een tekenklasse door deze vooraf te declareren:

#SET{mijn_regexp, ^[[:space:]]*([0-9]+)([.)]|Â?°)[[:space:]]+}
[(#DESCRIPTIF|match{#GET{mijn_regexp}, Uims, 1})]

Let op :
Het filter |match retourneert maximaal de eerste keer dat dat het doel wordt gevonden (en geen lijst van alle).


Lees ook het filter |replace.

Opmerkingen

[1en kijk oook op Wikipedia bij: Regular_expression


Het skelet van deze bladzijde zien Site gebouwd met SPIP | Vertaalruimte | Privé-site