Ugrás a tartalomhoz

Sablon:Regex

A Wikiforrásból

Az angol wikipedia Regex sablonjának átvétele.Tesztet igényel.

insource:/regexp/ prefix:Sablon:Regex


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.

  1. 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.
  2. Nyissuk meg a wikiszöveget és adjunk meg a |minta= értékét. A prefix-et később adjuk majd hozzá.
  3. 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.
  4. 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ó.
  5. 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-.
  6. 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.

A regexp keresések egy adott szerverre korlátozódnak, ezzel a keresések összköltsége csökken. A prefix: szűrő segítségével a keresési tartományt a lehető legszűkebbre kell szabni. A prefix: paraméter a néveteert tovább tudja szűrni a lapnevek kezdőbetűire is.