In Unix shells and Windows PowerShell, ranges of characters enclosed in square brackets ([ and ]) match a single character within the set; for example, [A-Za-z] matches any single uppercase or lowercase letter. In Unix shells, a leading exclamation mark ! negates the set and matches only a character not within the list. In shells that interpret ! as a history substitution, a leading caret ^ can be used instead.