Modulelessen (2/4)
Bereik binnen klassen: `[a-z0-9]`
Het is vervelend om elk personage één voor één op te sommen. Klassen accepteren bereiken
met het koppelteken -: [a-z] komt overeen met elke kleine letter, [0-9]
een cijfer, [A-Z] een hoofdletter.
Pattern: [a-z]+
Sample: Ciao Mondo 123
^^^ ^^^^Het bereik gebruikt de volgorde codepunten (in wezen ASCII voor Latijnse tekens):
a-z betekent "elk teken vanaf het codepunt van a tot het codepunt van
z", dus 26 letters.
Bereiken combineren
Binnen één klasse kun je meerdere bereiken en individuele karakters combineren:
[a-zA-Z0-9_] identical to \\w (in ASCII)
[a-fA-F0-9] hexadecimal digits
[0-9.] digits or the dot (for decimal numbers)De volgorde maakt niet uit: [0-9a-z] en [a-z0-9] zijn identiek.
Bereiken en ASCII-tekenvolgorde
Bereiken zoals [a-z] volgen strikt de tekenvolgorde in de ASCII-tabel. Het schrijven van een ongeldig bereik, zoals [z-a], zal een regex-compilatiefout veroorzaken. Aan het begin of einde moet een letterlijk streepje worden geplaatst: [a-z-].
Probeer het
Vind elke hexadecimale reeks van 6 tekens (bijvoorbeeld de kleurcode #1a2b3c). Cijfers gaan van 0 tot 9, letters van a tot f (hoofdletters of kleine letters).
Toon hint
Voeg A-F toe aan het bereik of gebruik de i-vlag.
Oplossing beschikbaar na 3 pogingen
Oefening beoordelen
Vind elke productcode bestaande uit 3 hoofdletters gevolgd door 4 cijfers (bijvoorbeeld ABC1234).
Toon hint
Voor cijfers kun je \\d of het bereik [0-9] gebruiken: deze oefening vereist expliciet [0-9].
Oplossing beschikbaar na 3 pogingen
Extra uitdaging
Zoek hexadecimale tekens in de tekst (cijfers 0-9 en letters A-F, zowel hoofdletters als kleine letters).
Toon hint
Combineer drie bereiken: 0-9, a-f, A-F.
Oplossing beschikbaar na 3 pogingen