Wikipedia:AutoWikiBrowser/Typos: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
Regel 12:
=== Veelvoorkomende spelfouten ([[Help:Veelvoorkomende spelfouten/machines]]) ===
{{Zie ook|Doe je bewerking alsjeblieft ook op [[Help:Veelvoorkomende spelfouten]] en [[Help:Veelvoorkomende spelfouten/machines]].}}
Summiere uitleg: een spelfout toevoegen gaat met behulp van een [[reguliere expressie]] en ziet er als volgt uit: <code><Typo word="#1" find="#2" replace="#3" /></code>. Vul op de plek van <code>#1</code> een unieke naam in voor de spelfout, vaak de juiste spelling, bij een werkwoord bijvoorbeeld de [[infinitief]]. Zorg dat de spelfouten alfabetisch gesorteerd staan op die naam.
 
Vul op de plek van <code>#2</code> de zoekterm in, in regex. Voor de absurde spelfout "banc" (bank) is dat in principe gewoon <code>banc</code>, maar plaats er "\b" omheen zodat alleen het volledige woord "banc" wordt vervangen en niet het woord "bancair" wordt vervangen door "bankair", dus <code>\bbanc\b</code>. Maar, als ook het foutieve meervoud "bancen" vervangen moet worden, zouden twee aparte zoektermen aangemaakt kunnen worden. Echter, dat kan makkelijker: "banc" en "bancen" moeten dus vervangen worden, dat is "banc" met daarachter niks of "en". Dat kunnen we in regex schrijven als <code>\bbanc(en)?\b</code>, waarbij het vraagteken het voorgaande nul of één keer ''matcht'' (dus of niks, of "en"). Als ook de verkleinwoorden "bancje" en "bancjes" vervangen moeten worden, moet achter "banc" niks, "en", "je" of "jes" staan, dus: <code>\bbanc(en|je|jes)?\b</code>, waarbij het vraagteken dus impliciet de optie "niks" toevoegt. Als we ook rekening willen houden met de hoofdletter B, kunnen we vierkante haken gebruiken. <code>[bB]</code> betekent "b" of "B", wat in totaal <code>\b[bB]anc(en|je|jes)?\b</code> oplevert.
 
Nu is de zoekterm klaar. De vervangterm (<code>#3</code>) zou in principe <code>bank</code> zijn, maar dat zou ook bijvoorbeeld "bancen" vervangen door "bank". Daar is een trucje voor: een zogeheten ''capture group''. Als in de zoekterm iets tussen ronde haakjes staat, wordt dat onthouden en kunnen we dat met <code>$1</code> terughalen, waarbij het getal 1 aangeeft dat het om de eerste (en in ons geval enige) capture group gaat. De vervangterm wordt dan dus <code>bank$1</code>. Maar, die hoofdletter B dan? Die wordt nu vervangen door een kleine b. Daarvan moet ook een capture group gemaakt worden, simpelweg door ronde haakjes om de vierkante haakjes heen te plaatsen: <code>\b([bB])anc(en|je|jes)?\b</code>. Onze vervangterm wordt dan <code>$1ank$2</code> (let op de verandering van de oorspronkelijke <code>$1</code> naar <code>$2</code>).
 
De uiteindelijke code voor in onderstaande lijst wordt dan (met zelfgekozen <code>#1</code>) <code><Typo word="bank" find="\b([bB])anc(en|je|jes)?\b" replace="$1ank$2" /></code>.
<syntaxhighlight lang="xml">
<!--bron : Help:Veelvoorkomende_spelfouten/machines (versie van 28 okt 08) + verwerkt tot regex'en - accenten en namen die in overige categorieën horen -->