# Samenvatting Theorie

### Basis

<table border="1" id="bkmrk-teken-uitleg-%5E-dit-b" style="border-collapse: collapse; width: 98.3321%; background-color: #c2e0f4;"><tbody><tr><th style="width: 9.9692%;">**Teken**</th><th style="width: 89.9692%;">**Uitleg**</th></tr><tr><td style="width: 9.9692%;">^</td><td style="width: 89.9692%;">Dit betekent dat we een match willen maken vanaf het begin van de string.</td></tr><tr><td style="width: 9.9692%;">\[ \]</td><td style="width: 89.9692%;">De rechte haakjes geven aan dat we een groep gaan maken, een groep is een groep karakters waarmee de tekst moet worden gevalideerd.</td></tr><tr><td style="width: 9.9692%;">\[0-9A-F\]</td><td style="width: 89.9692%;">Dit betekent dat we een 0 t/m.9 of een A t/m F willen matchen.</td></tr><tr><td style="width: 9.9692%;">+</td><td style="width: 89.9692%;">Het plus teken betekent dat we hetgeen dat tussen \[\] staat 1 of meer keer willen matchen.</td></tr><tr><td style="width: 9.9692%;">$</td><td style="width: 89.9692%;">Betekent dat we tot aan het einde van de string willen matchen.</td></tr></tbody></table>

### Place holders

<table border="1" id="bkmrk-teken-betekenis-voor" style="border-collapse: collapse; width: 98.3321%; height: 84px;"><thead><tr><td style="width: 8.16771%; background-color: #c2e0f4;">Teken</td><td style="width: 52.9016%; background-color: #c2e0f4;">Betekenis</td><td style="width: 11.9379%; background-color: #c2e0f4;">Voorbeeld</td><td style="width: 27.0158%; background-color: #c2e0f4;">  
</td></tr></thead><tbody><tr style="height: 28px;"><td style="width: 8.16771%; height: 28px;">  
</td><td style="width: 52.9016%; height: 28px;">als je niets plaats dan moet het element 1x voorkomen.</td><td style="width: 11.9379%; height: 28px;">A</td><td style="width: 27.0158%; height: 28px;">Alleen A voldoet</td></tr><tr style="height: 28px;"><td style="width: 8.16771%; height: 28px;">+</td><td style="width: 52.9016%; height: 28px;">een plus betekent 1 of meer keren</td><td style="width: 11.9379%; height: 28px;">AB+</td><td style="width: 27.0158%; height: 28px;">AB en ABBB voldoen</td></tr><tr style="height: 28px;"><td style="width: 8.16771%; height: 28px;">\*</td><td style="width: 52.9016%; height: 28px;">een \* betekent 0, 1 of meer keren</td><td style="width: 11.9379%; height: 28px;">AB\*C</td><td style="width: 27.0158%; height: 28px;">AC en ABC of ABBBC voldoen</td></tr><tr><td style="width: 8.16771%;">?</td><td style="width: 52.9016%;">een ? betekent 0 of 1 keer</td><td style="width: 11.9379%;">AB?C</td><td style="width: 27.0158%;">AC en ABC voldoen</td></tr><tr><td style="width: 8.16771%;">.  
</td><td style="width: 52.9016%;">een . betekent elk (any) karakter  
</td><td style="width: 11.9379%;">.\*  
</td><td style="width: 27.0158%;">Elke regel tekst voldoet hieraan.  
</td></tr></tbody></table>

### Groeperen

<table border="1" id="bkmrk-abc%2B-a-komt-1-keer-v" style="border-collapse: collapse; width: 98.3321%;"><tbody><tr><td style="width: 17.3407%; background-color: #c2e0f4;">Expressie  
</td><td style="width: 82.6824%; background-color: #c2e0f4;">Uitleg  
</td></tr><tr><td style="width: 17.3407%;">ABC+</td><td style="width: 82.6824%;">A komt 1 keer voor dan een B en dan één of meer keren een C. *ABCCC* is dus goed, *AABC* niet.</td></tr><tr><td style="width: 17.3407%;">\[A-C\]+</td><td style="width: 82.6824%;">A,B of C komen 1 of meer keren voor. *ABCAABBAA* is dus goed en A ook.</td></tr><tr><td style="width: 17.3407%;">\[A-C\]{5,6}</td><td style="width: 82.6824%;">A,B, of C en dat minimaal 5 en maximaal 6 keer. *CBBCBA* is dus goed, maar *CBBCBAC* niet omdat dat een karakter te veel is.</td></tr><tr><td style="width: 17.3407%;">.\*</td><td style="width: 82.6824%;">Elk karakter (any) komt 0 of meer keren voor (alles matched dus).</td></tr></tbody></table>

### Begin en eind  


<table border="1" id="bkmrk-expressie-uitleg-voo" style="border-collapse: collapse; width: 98.3321%; height: 140px;"><tbody><tr style="height: 28px;"><td style="width: 14.9104%; background-color: #c2e0f4; height: 28px;">Expressie</td><td style="width: 49.6513%; background-color: #c2e0f4; height: 28px;">Uitleg</td><td style="width: 35.3767%; background-color: #c2e0f4; height: 28px;">Voorbeeld van een match</td></tr><tr style="height: 28px;"><td style="width: 14.9104%; height: 28px;">^ABC</td><td style="width: 49.6513%; height: 28px;">De tekst begint met ABC, daarna mag alles</td><td style="width: 35.3767%; height: 28px;">ABC zijn de beginletters van het alfabet.</td></tr><tr style="height: 28px;"><td style="width: 14.9104%; height: 28px;">^AB\*C</td><td style="width: 49.6513%; height: 28px;">De tekst begint met een A dan 0,1, of meer B's en dan een C, daarna mag alles</td><td style="width: 35.3767%; height: 28px;">AC wordt gebruikt als afkorting voor airconditioner</td></tr><tr style="height: 28px;"><td style="width: 14.9104%; height: 28px;">^A\*B\*</td><td style="width: 49.6513%; height: 28px;">De tekst mag alleen 0,1 of meer A;s bevatten gevolgd door 0,1 of meer B's.</td><td style="width: 35.3767%; height: 28px;">BB staat for bed &amp; breakfast</td></tr><tr style="height: 28px;"><td style="width: 14.9104%; height: 28px;">^\[A-Z\]+$</td><td style="width: 49.6513%; height: 28px;">De tekst bestaat alleen uit hoofdletters en er moet er minimaal één voorkomen.</td><td style="width: 35.3767%; height: 28px;">KIJK UIT</td></tr></tbody></table>

### Escape karakters (\\)  


<table border="1" id="bkmrk-teken-betekenis-alte" style="border-collapse: collapse; width: 98.2716%; height: 147.334px;"><thead><tr style="height: 29.4667px;"><td style="width: 10.9388%; background-color: #c2e0f4; height: 29.4667px;">Teken</td><td style="width: 64.9804%; background-color: #c2e0f4; height: 29.4667px;">Betekenis</td><td style="width: 24.1646%; background-color: #c2e0f4; height: 29.4667px;">Alternatief  
</td></tr></thead><tbody><tr style="height: 29.4667px;"><td style="width: 10.9388%; height: 29.4667px;">\\s  
</td><td style="width: 64.9804%; height: 29.4667px;">een spatie of eigenlijk een 'white space' (= spatie of tab)  
</td><td style="width: 24.1646%; height: 29.4667px;">  
</td></tr><tr style="height: 29.4667px;"><td style="width: 10.9388%; height: 29.4667px;">\\d  
</td><td style="width: 64.9804%; height: 29.4667px;">een plus betekent 1 of meer keren</td><td style="width: 24.1646%; height: 29.4667px;">\[0-9\]+</td></tr><tr style="height: 29.4667px;"><td style="width: 10.9388%; height: 29.4667px;">\\w  
</td><td style="width: 64.9804%; height: 29.4667px;">een woord (a-z, A-Z en underscore)  
</td><td style="width: 24.1646%; height: 29.4667px;">\[A-Za-z\_\]+</td></tr><tr style="height: 29.4667px;"><td style="width: 10.9388%; height: 29.4667px;">\\\\  
</td><td style="width: 64.9804%; height: 29.4667px;">een backslash  
</td><td style="width: 24.1646%; height: 29.4667px;">  
</td></tr><tr><td style="width: 10.9388%;">\\.  
</td><td style="width: 64.9804%;">een punt  
</td><td style="width: 24.1646%;">  
</td></tr></tbody></table>


### Haakjes

Met haakjes geef je aan wat je in het resultaat wil.

<table border="1" id="bkmrk-expressie-uitleg-%C2%A0%5Cd" style="border-collapse: collapse; width: 113.21%;"><tbody><tr><td style="width: 17.2982%; background-color: #c2e0f4;">Expressie  
</td><td style="width: 82.6606%; background-color: #c2e0f4;">Uitleg  
</td></tr><tr><td style="width: 17.2982%;"> \\d{2}-\\d{2}-(\\d{4})</td><td style="width: 82.6606%;">matched een datum (dd-dd-dddd) en geeft alleen het jaar (dddd) terug.  
</td></tr><tr><td style="width: 17.2982%;">\\.\\s(.?)  
</td><td style="width: 82.6606%;">matched het einde van de zin (punt gevolgd door spatie) en geeft het eerste karakter van de zin weer.</td></tr></tbody></table>

\--