Character classes
A character class is used to match a single character to a set of possible characters. A character class is denoted using square brackets ([ ]
).
For example, a character class may contain each of the vowels:
'get' -match 'g[aeiou]t'
'got' -match 'g[aeiou]'
Within a character class, the special or reserved characters are as follows:
-
: Used to define a range\
: Escape character^
: Negates the character class
Ranges
The hyphen is used to define a range of characters. For example, we might want to match any number repeated one or more times (using +
):
'1st place' -match '[0-9]+' # $matches[0] is "1"
'23rd place' -match '[0-9]+' # $matches[0] is "23"
A range in a character class can be any range of ASCII characters, such as the following examples:
a-z
A-K
0-9
1-5
!-9
(0-9
and the ASCII characters33
to47
)
The following returns true
as "
is character 34
and #
is character 35
that is, they are within the range !-9
:
PS> '"#' -match '[!-9]+'; $matches[0] True "#
The range notation allows...