| characters | description | matches | 
|---|---|---|
| . | not newline | any character except line terminators (LF, CR, LS, PS). | 
| \t | tab (HT) | a horizontal tab character (same as \u0009). | 
| \n | newline (LF) | a newline (line feed) character (same as \u000A). | 
| \v | vertical tab (VT) | a vertical tab character (same as \u000B). | 
| \f | form feed (FF) | a form feed character (same as \u000C). | 
| \r | carriage return (CR) | a carriage return character (same as \u000D). | 
| \cletter | control code | a control code character whose code unit value is the same as the remainder of dividing the code unit value of letter by 32. For example: \ca is the same as \u0001, \cb the same as \u0002, and so on... | 
| \xhh | ASCII character | a character whose code unit value has an hex value equivalent to the two hex digits hh. For example: \x4c is the same as L, or \x23 the same as #. | 
| \uhhhh | unicode character | a character whose code unit value has an hex value equivalent to the four hex digits hhhh. | 
| \0 | null | a null character (same as \u0000). | 
| \int | backreference | the result of the submatch whose opening parenthesis is the int-th (int shall begin by a digit other than 0). See groups below for more info. | 
| \d | digit | a decimal digit character (same as [[:digit:]]). | 
| \D | not digit | any character that is not a decimal digit character (same as [^[:digit]]). | 
| \s | whitespace | a whitespace character (same as [[:space:]]). | 
| \S | not whitespace | any character that is not a whitespace character (same as [^[:space:]]). | 
| \w | word | an alphanumeric character (same as [[:alnum:]]). | 
| \W | not word | any character that is not an alphanumeric character (same as [^[:alnum:]]). | 
| \character | character | the character character as it is, without interpreting its special meaning within a regex expression. Any character can be escaped except those which form any of the special character sequences above. Needed for: ^ $ \ . * + ? ( ) [ ] { } | | 
| [class] | character class | the target character is part of the class (see character classes below) | 
| [^class] | negated character class | the target character is not part of the class (see character classes below) | 
|  |  | 
| characters | times | effects | 
|---|---|---|
| * | 0 or more | The preceding atom is matched 0 or more times. | 
| + | 1 or more | The preceding atom is matched 1 or more times. | 
| ? | 0 or 1 | The preceding atom is optional (matched either 0 times or once). | 
| {int} | int | The preceding atom is matched exactly int times. | 
| {int,} | int or more | The preceding atom is matched int or more times. | 
| {min,max} | between min and max | The preceding atom is matched at least min times, but not more than max. | 
| characters | description | effects | 
|---|---|---|
| (subpattern) | Group | Creates a backreference. | 
| (?:subpattern) | Passive group | Does not create a backreference. | 
| characters | description | condition for match | 
|---|---|---|
| ^ | Beginning of line | Either it is the beginning of the target sequence, or follows a line terminator. | 
| $ | End of line | Either it is the end of the target sequence, or precedes a line terminator. | 
| \b | Word boundary | The previous character is a word character and the next is a non-word character (or vice-versa). Note: The beginning and the end of the target sequence are considered here as non-word characters. | 
| \B | Not a word boundary | The previous and next characters are both word characters or both are non-word characters. Note: The beginning and the end of the target sequence are considered here as non-word characters. | 
| (?=subpattern) | Positive lookahead | The characters following the assertion must match subpattern, but no characters are consumed. | 
| (?!subpattern) | Negative lookahead | The characters following the assertion must not match subpattern, but no characters are consumed. | 
| character | description | effects | 
|---|---|---|
| | | Separator | Separates two alternative patterns or subpatterns. | 
| class | description | notes | 
|---|---|---|
| [:classname:] | character class | Uses the regex traits' isctype member with the appropriate type gotten from applying lookup_classname member on classname for the match. | 
| [.classname.] | collating sequence | Uses the regex traits' lookup_collatename to interpret classname. | 
| [=classname=] | character equivalents | Uses the regex traits' transform_primary of the result of regex_traits::lookup_collatename for classname to check for matches. | 
| class | description | equivalent (with regex_traits, default locale) | 
|---|---|---|
| [:alnum:] | alpha-numerical character | isalnum | 
| [:alpha:] | alphabetic character | isalpha | 
| [:blank:] | blank character | (matches only space and tab) | 
| [:cntrl:] | control character | iscntrl | 
| [:digit:] | decimal digit character | isdigit | 
| [:graph:] | character with graphical representation | isgraph | 
| [:lower:] | lowercase letter | islower | 
| [:print:] | printable character | isprint | 
| [:punct:] | punctuation mark character | ispunct | 
| [:space:] | whitespace character | isspace | 
| [:upper:] | uppercase letter | isupper | 
| [:xdigit:] | hexadecimal digit character | isxdigit | 
| [:d:] | decimal digit character | isdigit | 
| [:w:] | word character | isalnum | 
| [:s:] | whitespace character | isspace |