| |
Reguliere expressies:Onderwerpen: |
Regular expressions - Deel 5
Deze pagina is op verzoek van een bezoeker teruggeplaatst. De pagina is echter vrij oud en bevat veel afwerkingsfoutjes. Gelieve hier rekening mee te houden. Haakjes om te groeperenStel, we willen het vraagteken niet gebruiken voor 1 enkele letter, maar voor meerdere letters. Als je een vraagteken plaatst, wordt er normaalgezien enkel gekeken naar wat er vlak voor staat. Hiervoor bestaat een oplossing: groeperen door middel van haakjes:/a(bcde)?f/In het bovenstaande voorbeeld hoort het vraagteken bij (bcde).Strings die aan dit patroon voldoen:
/(xyz){5,}/
Of nog leuker:
/(\.a{3,5}d.{4}[efg]{4}){2,3}/
Je zou in staat moeten zijn om de bovenstaande regex te kunnen begrijpen.Alternation: ofwel dit, ofwel dat (|)Met het | teken (op een US QWERTY en een US Dvorak-toetsenbord op de toets boven de enter, waar ook de backslash op staat) kan je zeggen dat 1 ding goed is, en een ander ding ook goed is: wat er voor het teken staat, of wat er achter staat./kat|pelikaan/Hierbij is "kat" goed, en "pelikaan" ook goed. Iets anders is niet goed.Als we nu het volgende willen: de letters "de ", gevolgd door kat OF pelikaan, gevolgd door " krabt", dan is het volgende niet wat we willen: /de kat|pelikaan krabt/Dit wordt namelijk geinterpreteerd als: "de kat" OFWEL "pelikaan krabt".Hiervoor moeten we haakjes gebruiken: /de (kat|pelikaan) krabt/En dat doet wel wat we willen.In plaats van "Ofwel dit, ofwel dat" kunnen we ook zeggen "ofwel dit, ofwel dit, ofwel dit, ofwel dit". BIjvoorbeeld: /de (kat|pelikaan|poes|goudvis) krabt/Dit betekent: de tekens "de ", gevolgd door OFWEL "kat" OFWEL "pelikaan" OFWEL "poes" OFWEL "goudvis", gevolgd door " krabt". Begin en einde: \A en \Z, of ^ en $/de kat .* van de trap/Hierbij kan er tekst voorkomen voor "de kat". Een geldige string is dus ook "de hond en de kat krabt de krollen van de trap". Als we dat niet willen, moeten we opgeven dat er geen tekens voor mogen voorkomen. Dit kan je doen met \A of met een hoedje (^): /\Ade kat .* van de trap/ /^de kat .* van de trap/Geldig is nu:
/kat\Z/ /kat$/Hierbij is elke string goed die op "kat" eindigt. /\Ak.t/Z/Hierbij zijn alle strings goed die beginnen met een k, dan eender welke letter hebben, en dan een t, en daarna mag er geen tekst meer zijn in de string. Volgende pagina: Modifiers en haakjes |
| Copyright (C) 2001-2006 Willem Penninckx | |