Whitespace (karakter)
Een whitespace is een verzamelnaam voor alle horizontale en verticale spaties die bij weergave een lege ruimte tonen tussen de zichtbare tekens of woorden (horizontaal) of regels (verticaal).
Lege karakters
Een andere benaming voor deze groep karakters is blank characters ('lege karakters') in een karakterset, die kunnen voorkomen in een (digitaal) tekstbestand, of in tekstdelen van computerbestanden (bijvoorbeeld in metadata). Van deze karakters zijn de 'spatie', 'tab', 'line feed' (ook wel 'new line' genoemd) en 'carriage return' het meest bekend en gebruikt. Met name bij de 'spatie' en de 'tab' is het evident dat op de plaats van het karakter een lege ruimte in de tekstregel te zien is. Naast de vier eerder genoemde blank characters, vallen ook 'line tabulation', 'form feed', 'next line' en 'no break space' uit de ASCII-tabel onder de noemer whitespace.
Anders dan de afzonderlijke karakters die de verzameling van de blank characters vormen, is er logischerwijs geen ASCII-code voor de 'whitespace'; het is immers geen discreet karakter in de karakterset. Er is wel een karaktercombinatie die de whitespace representeert in 'regular expressions'.
Representatie van blank characters
Blank character |
Aanduiding | ASCII-code (decimaal) |
ASCII-code (hexadecimaal) |
ASCII-code (octaal) |
HTML-code | Regular expression |
CTRL +letter[ref 1] |
---|---|---|---|---|---|---|---|
tab[1] | HT | 009 | 0x09 | 011 | 	 of 	 | \t | ^I |
line feed[2] | LF, EOL[3] | 010 | 0x0a | 012 | of 
 | \n | ^J |
line tabulation[4] | VT | 011 | 0x0b | 013 |  | \v | ^K |
form feed[5] | FF | 012 | 0x0c | 014 |  | \f | ^L |
carriage return | CR | 013 | 0x0d | 015 | | \r | ^M |
spatie | SP | 032 | 0x20 | 040 |   | of [ ] | |
next line | NEL | 133 | 0x85 | 205 | … | \x85 [6] | |
no break space | NBSP | 160 | 0xa0 | 240 |   of | \xa0 [6] | |
white space | WS | n.v.t.[7] | n.v.t.[7] | n.v.t.[7] | n.v.t.[7] | \s |
In de regular expression-kolom zijn slechts voorbeelden getoond, er zijn diverse andere mogelijkheden om de betreffende karakters in een regular expression te beschrijven of te matchen. Daarnaast dient nog opgemerkt te worden, dat afhankelijk van waar en hoe de regular expressions gebruikt worden, ze soms omgeven dienen te worden door de regexp-delimiter (scheidingsteken), de forward slash (/
). Bij gebruik in shells of shell scripts, wanneer een regular expression als parameter/argument wordt meegegeven, kan het noodzakelijk zijn om deze bijvoorbeeld in te sluiten in single quotes ('
), al dan niet zelf weer escaped (voorafgegaan door een backslash) om te voorkomen dat speciale karakter(combinatie)s door de shell worden geëvalueerd in plaats van door het aangeroepen commando of programma.[ref 2][ref 3]
Andere karaktersets
Naast de ASCII-karakterset, bestaan er ook andere en grotere karaktersets, zoals Unicode. Hierin bevinden zich behalve de hierboven genoemde blank characters, nog meer karakters die tot de whitespaces gerekend worden. Voor het gebruik van regular expressions met bijvoorbeeld de Unicode-karakterset, zal het programma of de software waarin deze gebruikt worden, wel Unicode moeten ondersteunen. In dat geval zal de regexp \s
ook matchen met alle tekens die tot de whitespaces worden gerekend, maar zal (mogelijk) geen éénletterige \
-sequence bestaan die individueel matchen met de whitespace-karakters die niet in de klassieke ASCII-tabel voorkomen. In plaats daarvan kan op Unicode-karakter worden gematched met de expressie \uFFFF
of \u{FFFF}
, waarin FFFF
dan correspondeert met de hexadecimale waarde van het betreffende karakter.[ref 3]
Bronnen, noten en/of referenties
Referenties
Noten
|