| |
Reguliere expressies:Onderwerpen: |
Regular expressions - Punt en escapen
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. Een willekeurig teken - werken met de punt (.)De punt (.) is een teken dat in reguliere expressies een speciale betekenis heeft. Voorbeeldje:/abc.def/Dit betekent: de letter a, gevolgd door de letter b, gevolgd door de letter c, gevolgd door eender welk teken, gevolgd door de letter d, gevolgd door de letter e, gevolgd door de letter f.Punt betekent dus "eender welk teken is goed". Dit houdt in: alle letters van a tot z en alle hoofdletters van A tot en met Z, alle cijfers, punten, puntkomma's, uitroeptekens, haakjes open en toe, .... maar: geen nieuwe lijn. Je kan instellen dat het punt een nieuwe lijn ook meerekent, hierover later meer bij het deel over modifiers. Voorbeelden van strings die voldoen aan de regexp:
/abc....def/ /[abc].[def]/ /abc.[def]/Een interessant geval waar ik het nog even over ga hebben is het volgende: /.a.b./Dit betekent: een willekeurig teken, gevolgd door een a, gevolgd door een willekeurig teken, gevolgd door een b, gevolgd door een willekeurig teken.Deze strings zijn goed:
EscapenStel, we willen zeggen: een teken a, gevolgd door een punt, gevolgd door een teken b. Als we dan deze regexp nemen:/a.b/Wordt de punt zijn speciale betekenis gebruikt, en wordt het niet gezien als een gewone punt. Dus bij deze regexp is de string "axb" ook goed, en dat is niet de bedoeling. Om nu een punt te gebruiken die geen speciale betekenis heeft, moeten we zeggen dat hij niet moet kijken naar die speciale betekenis. Dat noemt escapen, en dat doen we door een backslash te plaatsen voor het teken: /a\.b/Hierbij voldoet "a.b", "aaa.bbb" en "abcdea.bc" aan het patroon, maar bijvoorbeeld "axb" niet.Naast punten kunnen we ook veel andere dingen escapen. Bijvoorbeeld de slash: /a\/b/Goed: "a/b", "abca/bcde", niet goed: "b/b", "ab".En zelfs een backslash kunnen we escapen: /a\\b/Goed: "a\b", "aaa\bbb", niet goed: "b\b", "b\\b", "b\c". Volgende pagina: Quantifiers {} ? + * |
| Copyright (C) 2001-2006 Willem Penninckx | |