Sablon:Regex
Az angol wikipedia Regex sablonjának átvétele.Tesztet igényel.
insource:/regexp/ prefix:Sablon:Regex
Cél
[szerkesztés]Ez a sablon a wikilap szövegeiben való keresést segíti. A szokásos kereések nem engedik betűkön kívül más karakterek használatát, az úgynevezett reguláris kifejezéseben minden karakter megengedett, sőt ún. metakaraktereket is alkalmazhatunk. Ez a sablon a belépőpont az adatbázis lekérdezések használatához. A sablon arra is jó, hogy megtanuljuk a reguláris kifejezések szintaxisát.
A reguláris kifejezések valójában mini-programok, így mint a programokat ezeket is alaposan tesztelni kell, hogy valóban a megfelelően ponts és alapos keresét definiűltuk-e.Az datbázisokon ilyen jellegű intenzív és költséges keresésből nem futhat túl sok egyszerre. Ez a sablon csökkenti a keresés processzorköltségét, és kizárja a teszteletlen reguláris kifejezések futását a wiki névtereiben. E sablon használata a keresési tartományra alkalmazott szűrők segítségével csökkent a keresés processzorköltségét. Az alap keresési tartomány egy saját ad-hoc homokozó. Amint a reguláris kifejezés megfelelően ki lett tesztelve a |prefix=
beállításával további tartományokat adhatunk a kereséshez.
Paraméterek
[szerkesztés]|minta= vagy {{{1}}} |
reguláris kifejezésként megadott keresési minta. A minta egyben az első paraméter is. |
|prefix= vagy {{{2}}} |
kereési tartomány. A prefix elfogadja névtér a számokat, illetve a n -t a az aktuális névtér, a : -t a fő névtér számára. Az alapértelmezés az aktuális lap (fullpagename), ha a csak a minta paraméter van megadva.
|
|cimke= vagy {{{3}}} |
a keresési hivatkozás cimkéja. A 'cimke' megadható a 3. felsorolt paraméterként is. |
Eljárás
[szerkesztés]El kell dönteni, hogy tényleg szükségünk van-e a nagyon precíz és alapos regexp keresésre, vagy megtaláljuk az általunk keresett szöveget az egyszerű insource: szűrő segítségével is. Ezekben az esetekben az egyszerű {tl|kereső} használata is elegendő, és nem lesz szükségünk homokozóra.
Névtér plusz lapnév egyenlő teljes lapnév.
Megnéz-kiértékel-módosít iterációba fogunk.
- Keressünk egy létező teljes lapnevet az megcélzott wikiszöveg példányok közül, Vagy készítsünk egyet megunk és mentsük el, hogy a lekérdezés megtalálhassa a wiki adatbázisában.
- Nyissuk meg a wikiszöveget és adjunk meg a
|minta=
értékét. A prefix-et később adjuk majd hozzá. - Nézzük meg az előnézetet. Vizsgáljuk meg az újonnan létrehozott keresési hivatkozásban a minta paraméter értékét.
- Kattintsunk a keresési hivatkozásra. Vegyük észre, hogy az illeszkedések vastab betűvel vannak kiemelve, a teljes lekérdezés középre van szedve, és jobbra van a számláló.
- Térjünk vissza a böngészőbe. Módosítsuk a reguláris kifejezést. Ismételjük az eljárást, vagy ha szükséges teljesen írjuk újra a lekérdezést-.
- Adjuk meg a
|prefix=
értékét. Kezdjük egy névtérrel.
A 6. lépés adja sablon lényegét. Figyelem! Ha megváltoztatjuk a target értékét, akkor azt ismét el kell mentenünk az adatbázisba. Ha ismételten ugyanazt a célt kívánjuk használni, akkor szükségünk lehet a gyorsítótár kiürítésére. Nincs azonban erre mindig szükség, ha csak a |paraméter=
. értéke változott. Bármely lap elérhető a prefix: használatával.
Ennél a sablonnál a függőleges vonal karaktert a \{{!}} használatával kell megadni. Ily módon tudunk ilyen karaktert keresni wikiszövegeken belül.
A sablon használatakor a függőleges elválasztó karaktert {{!}}
-segítségével kell megadni, így a regexp nem zavarodik össze a sablon tartalmától. A zárójelek segítségével jelöljük ki a keresőminta határait, erre azért van szükség, mert a regexp a lehető leghosszabb mintaillesztésre törekszik. Természetesen csak akkor kell zárójelt használnunk, ha valóban szükségünk van a mintán belüli lehatárolásokra.